728x90
반응형
■ PHP curl 사용법 (GET,POST) / REST API 요청
■ 사용법
- GET
$method = "GET";
$data = array(
'apiKey' => 'test'
);
$url = "https://www.naver.com" . "?" , http_build_query($data, '', );
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //원격 서버의 인증서가 유효한지 검사 안함
//curl_setopt($ch, CURLOPT_SSLVERSION, 3); // SSL 버젼 (https 접속시에 필요)
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
return $response;
- POST
$method = "POST";
$data = array(
'apiKey' => 'test'
);
$url = "https://www.naver.com";
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //원격 서버의 인증서가 유효한지 검사 안함
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //POST data
curl_setopt($ch, CURLOPT_POST, true); //true시 post 전송
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
return $response;
- REST API 요청 예제 (POST)
$clientID = "Client ID";
$clientSecret = "Client SecretKey";
$url = "https://www.naver.com";
$curl = new curl();
$body = "{
"test" : "test"
}";
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"X-Naver-Client-Id: " . $clientID,
"X-Naver-Client-Secret: " . $clientSecret,
"Content-Type: application/json; charset=UTF-8"
),
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POSTFIELDS => $body
));
$response = curl_exec($ch);
$sResponse = json_decode($response , true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
return $response;
- 출력값
$response = curl_exec($ch);
$sResponse = json_decode($response , true); //배열형태로 반환
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 응답코드
$error = curl_error($ch); //에러정보
//echo "<xmp>";
print_r($sResponse); //결과값 출력(배열형태)
//echo "</xmp><br>";
728x90
반응형
'PHP' 카테고리의 다른 글
[PHP] 이미지 리사이즈 (크기변경, 썸네일생성) (0) | 2021.03.30 |
---|---|
[PHP] 외부이미지 서버 저장 / php curl 이미지 저장 (0) | 2021.03.30 |
[PHP] 문자열 공백제거 / 문자열 앞뒤 공백제거 trim() / 문자열 모든 공백제거 preg_replace() (0) | 2021.03.30 |
[PHP] 소수점 올림/버림/반올림, 소수점 자리수 지정 (0) | 2021.03.25 |
[PHP] javascript escape 문자열 php unescape / escape() unescape() / 한글깨짐 (1) | 2021.03.23 |