如何在 PHP 中使用 cURL 获取响应
我想要一个独立的PHP类,我希望有一个通过cURL调用API并获取响应的函数。有人可以帮我吗?
谢谢。
我想要一个独立的PHP类,我希望有一个通过cURL调用API并获取响应的函数。有人可以帮我吗?
谢谢。
只需使用下面的代码片段从宁静的Web服务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);