Как получить ответ с помощью cURL в PHP

Я хочу иметь отдельный PHP-класс, где я хочу иметь функцию, которая вызывает API через cURL и получает ответ. Может ли кто-нибудь помочь мне в этом?

Благодарю.

Related of "Как получить ответ с помощью cURL в 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 хранить ответ в переменной вместо того, чтобы печатать его на странице, поэтому ответ будет содержать ваш ответ. Вот ваш самый основной рабочий код (я думаю, не тестировал его):

 // 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); // output string(0) "" int(200) // change www.google.com to www.googlebofus.co string(42) "Could not resolve host: www.googlebofus.co" int(0)