为什么这个cURL失败了?

时间:2018-02-24 14:09:26

标签: php curl

我已经尝试了很多东西和设置,最后来到了这个应该有效的代码,但它没有用。该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

1 个答案:

答案 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; 
 }