PHP cURL不返回响应,POSTMAN返回响应

问题描述 投票:1回答:1

我正在运行一个看起来像这样的cURL请求,

$curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_HTTPHEADER => array(
            "Content-Type: application/json",
            "Authorization: Bearer " . $token
        )
    ));
    $response = curl_exec($curl);
    die(var_dump($response));

是否会有任何原因导致PHP中的我的cURL不返回响应?

php curl postman
1个回答
0
投票

当我像这样运行您的代码时:

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => $url, // HTTPS URL
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $token
    ]
]);
$response = curl_exec($curl);

if ($response === false) {
    echo curl_errno($curl) . ': ' . curl_error($curl); // 60: SSL certificate problem: unable to get local issuer certificate
}

curl_close($curl);

var_dump($response); // boolean false

如果您正在向HTTPS URL发送请求,则实际错误是CURLE_PEER_FAILED_VERIFICATION (60)

认为远程服务器的SSL证书或SSH md5指纹不好。自从此错误代码已与CURLE_SSL_CACERT统一7.62.0。它的先前值为51。(Source

因此,您需要禁用CURLOPT_SSL_VERIFYPEER选项。

CURLOPT_SSL_VERIFYPEER => false
© www.soinside.com 2019 - 2024. All rights reserved.