Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SSL
- Ajax
- 날짜변환
- JS
- 자바스크립트
- JavaScript
- php8.3
- iframe
- 글자수제한
- .htaccess
- 301 리다이렉트
- virsualhost
- ip직접접근차단
- post_type
- 배열
- krds
- 정규식
- Vanilla JS
- MySQL
- 구글뷰어
- 리사이즈
- 비동기호출
- selinux
- 날짜비교
- 보안인증서
- 글자 수 제한
- 애니메이트
- 우분투 서버세팅
- 정부 서비스 가이드라인
- 디지털 정부서비스ui/ux
Archives
- Today
- Total
더 나은 프로그래머가 되자
CURL GET, POST 사용법 본문
cURL(Client URL Library)
php를 사용해서 Rest API 통신을 하기위한 필수 수단
- cURL GET방식 예제
<?php
$api_server = 'https://도메인';
// get으로 보낼 array
$params = array('key1'=>'val1', 'key2'=>'val2');
$query = http_build_query($params);
$opts = array(
CURLOPT_URL => $api_server . '?' . $query,
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
);
// 응답요청
$curl_session = curl_init();
curl_setopt_array($curl_session, $opts);
$curl_response = curl_exec($curl_session);
$resMessage = (curl_error($curl_session))? null : $curl_response;
//print_r($curl_response);
$body = null;
if (curl_error($curl_session)) {
// 실패
$err = curl_errno($curl_session);
$errmsg = curl_error($curl_session);
} else {
// 성공
$header_size = curl_getinfo($curl_session, CURLINFO_HEADER_SIZE);
$header = substr($curl_response, 0, $header_size); // 헤더
$body = substr($curl_response, $header_size); // 응답전문
$json_de = json_decode($body, true);
//print_r($json_de);
}
curl_close($curl_session);
?>
cURL POST방식 예제
<?php
$api_server = "https://도메인";
// 요청전문 작성
$post_body = array();
$post_body['param1'] = "값1";
$post_body['param2'] = "값2";
$post_json = json_encode($post_body, JSON_UNESCAPED_UNICODE);
$opts = array(
CURLOPT_URL => $api_server,
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_json,
//CURLOPT_POSTFIELDSIZE => 1000,
CURLOPT_TIMEOUT => 10,
);
// 응답요청
$curl_session = curl_init();
curl_setopt_array($curl_session, $opts);
$curl_response = curl_exec($curl_session);
$resMessage = (curl_error($curl_session))? null : $curl_response;
//print_r($curl_response);
$body = null;
if (curl_error($curl_session)) {
// 실패
$err = curl_errno($curl_session);
$errmsg = curl_error($curl_session);
} else {
// 성공
$header_size = curl_getinfo($curl_session, CURLINFO_HEADER_SIZE);
$header = substr($curl_response, 0, $header_size); // 헤더
$body = substr($curl_response, $header_size); // 응답전문
$json_de = json_decode($body, true);
//print_r($json_de);
}
curl_close($curl_session);
?>
curl_init : 새로운 cURL 리소스생성(초기화)
curl_setopt_array : cURL 전송시 여러 옵션 설정
curl_exec : cURL 실행
curl_getinfo : 전송 정보를 리턴받음
출처 : https://mintea.tistory.com/5
[PHP] CURL GET, POST 사용법
cURL(Client URL Library) URL을 사용하여 서버와 연결, 다양한 데이터를 전송하는 프로그램으로 저는 Rest API 통신시 자주 사용하고 있습니다. https://www.php.net/manual/en/intro.curl.php cURL GET방식 예제 cURL POST
mintea.tistory.com
'언어 > PHP' 카테고리의 다른 글
PDF VIEWER 구현하기 (0) | 2024.07.03 |
---|---|
html5를 이용한 파일 업로드 프로그레스바 (0) | 2023.01.16 |
브라우저 언어 체크 및 리다이렉트 (0) | 2022.10.04 |
PHPMailer에서 gmail api로 메일 발송하기(XOAUTH2 인증) (0) | 2022.06.09 |
Mac OS에서 파일 업로드시 한글파일명 모음자음 분리 현상 (0) | 2022.03.18 |
Comments