我有以下代码来检索有关公司的数据。
function getSSLPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSLVERSION,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
$result = curl_exec($ch);
$result = json_decode($result, true);
curl_close($ch);
return $result;
}
$get_page = getSSLPage('link');
print_r($get_page);
问题是我无法检索json结果。 curl_exec()确实打印了结果,但如果我在$ result上使用print_r()或var_dump(),我得到int(1)作为结果。
我尝试了不同的变化,但一切都失败了。
感谢您的帮助。
答案 0 :(得分:1)
使用CURLOPT_RETURNTRANSFER
选项。
答案 1 :(得分:1)
您应该使用CURLOPT_RETURNTRANSFER
并将代码简化为:
function getSSLPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// add other options you need, eg: timeout, etc
$result = curl_exec($ch);
if($result === false) {
//error occurs, use curl_errno/curl_error to get the error
} else {
$result = json_decode($result, true);
}
curl_close($ch);
return $result;
}
答案 2 :(得分:0)
你的职能
在curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it prints the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);