반응형
PHP에서 cURL을 사용하여 응답을 얻는 방법
cURL을 통해 API를 호출하고 응답을받는 함수를 갖고 싶은 독립형 PHP 클래스를 갖고 싶습니다. 누군가 나를 도울 수 있습니까?
감사.
편안한 웹 서비스 URL에서 응답을 얻으려면 아래 코드를 사용하십시오. 나는 소셜 멘션 URL을 사용합니다.
$response = get_web_page("http://socialmention.com/search?q=iphone+apps&f=json&t=microblogs&lang=fr");
$resArr = array();
$resArr = json_decode($response);
echo "<pre>"; print_r($resArr); echo "</pre>";
function get_web_page($url) {
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_ENCODING => "", // handle compressed
CURLOPT_USERAGENT => "test", // name of client
CURLOPT_AUTOREFERER => true, // set referrer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect
CURLOPT_TIMEOUT => 120, // time-out on response
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
솔루션의 핵심은
CURLOPT_RETURNTRANSFER => true
그때
$response = curl_exec($ch);
CURLOPT_RETURNTRANSFER는 응답을 페이지에 인쇄하는 대신 변수에 저장하도록 PHP에 지시하므로 $ response에 응답이 포함됩니다. 가장 기본적인 작업 코드는 다음과 같습니다 (테스트하지 않은 것 같습니다).
// init curl object
$ch = curl_init();
// define options
$optArray = array(
CURLOPT_URL => 'http://www.google.com',
CURLOPT_RETURNTRANSFER => true
);
// apply those options
curl_setopt_array($ch, $optArray);
// execute request and get response
$result = curl_exec($ch);
다른 사람이이 문제를 발견하면 "응답"에 필요할 수있는 응답 코드 또는 기타 정보를 제공하기 위해 다른 답변을 추가합니다.
http://php.net/manual/en/function.curl-getinfo.php
// init curl object
$ch = curl_init();
// define options
$optArray = array(
CURLOPT_URL => 'http://www.google.com',
CURLOPT_RETURNTRANSFER => true
);
// apply those options
curl_setopt_array($ch, $optArray);
// execute request and get response
$result = curl_exec($ch);
// also get the error and response code
$errors = curl_error($ch);
$response = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
var_dump($errors);
var_dump($response);
산출:
string(0) ""
int(200)
// change www.google.com to www.googlebofus.co
string(42) "Could not resolve host: www.googlebofus.co"
int(0)
ReferenceURL : https://stackoverflow.com/questions/6516902/how-to-get-response-using-curl-in-php
반응형
'program story' 카테고리의 다른 글
WPF 앱에 가장 적합한 프레임 워크 인 MVVM 프레임 워크 (0) | 2021.01.09 |
---|---|
어떻게 "git status"를 실행하고 파일 이름을 얻을 수 있습니까? (0) | 2021.01.09 |
AngularJS의 입력 필드에서 첫 번째 문자를 자동 대문자로 바꾸는 방법은 무엇입니까? (0) | 2021.01.09 |
Rails before_validation 스트립 공백 모범 사례 (0) | 2021.01.09 |
Android에서 RTL 언어 식별 (0) | 2021.01.09 |