我已经尝试了很多东西和设置,最后来到了这个应该有效的代码,但它没有用。该URL是有效的。
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_POST, 0);
curl_setopt($curlSession, CURLOPT_REFERER, 'TESTDATA');
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlSession, CURLOPT_TIMEOUT,120);
$response = explode(chr(10),curl_exec($curlSession));
$response1 = curl_getinfo( $curlSession );
curl_close ($curlSession);
$data = implode('', $response);
var_dump($data);
这是curl_getinfo()
的回复[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => -8172
[redirect_count] => 0
[total_time] => 0.140683
[namelookup_time] => 0.124828
[connect_time] => 0.125422
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 34.194.49.253
[certinfo] => Array
(
)
[primary_port] => 443
[local_ip] => 172.31.63.119
[local_port] => 45116
答案 0 :(得分:0)
当我将CURLOPT_SSL_VERIFYHOST和CURLOPT_SSL_VERIFYHOST设置为false时,它现在有效。我认为服务器的SSL存在问题
这是最终的代码。如果您的服务器存在SSL问题,请使用它
function getCurlDATA($url){
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_POST, 0);
curl_setopt($curlSession, CURLOPT_REFERER, 'PRICELESSDATA');
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlSession, CURLOPT_TIMEOUT,120);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false);
$response = explode(chr(10),curl_exec($curlSession));
curl_close ($curlSession);
$data = implode('', $response);
return $data;
}