1

我似乎无法找到从 curl_exec 获取响应代码、标题和内容的方法。

这是我的最后一次尝试:

$url = '...';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CAINFO, 'PATH_TO_.cer');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($curl, CURLOPT_HEADER, true); //ATTEMPT1
/*curl_setopt($curl, CURLOPT_HEADERFUNCTION, function($curl, $header) use (&$headers){ //ATTEMPT2
    $len = strlen($header);
    $header = explode(':', $header, 2);
    if (count($header) < 2){ // ignore invalid headers
        return $len;
    }
    $headers[strtolower(trim($header[0]))][] = trim($header[1]);
    print_r($headers);
    return $len;
});*/
$contents = curl_exec($curl);
curl_close($curl);

我尝试了 ATTEMPT1 和 ATTEMPT2

在我的请求的标头中,有很多字段,例如我每次都需要检索的速率限制,但我还需要响应代码和请求的内容。

编辑:到目前为止,我发现我需要在 ATTEMPT2 上使用 ATTEMPT1,因为最后一个只是一个手工制作的版本,我似乎无法理解它正在摆脱标题中的响应代码。

4

1 回答 1

1

您正在寻找curl_getinfo()

例如,要获取响应代码:

$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
于 2019-10-29T12:37:29.940 回答