PHP cURL:读取特定的响应头

Ben*_*lts 2 php curl http-headers

我在PHP中使用cURL将POST到正在创建资源的端点。它返回201响应,并带有Location标头,该标头给出了所创建资源的URL。我还在响应的正文中获得了一些信息。

获取响应的纯文本主体以及获取位置标头的值的最佳方法是什么?curl_getinfo不返回该标头,当我这样做时:

    curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($ch, $header) {
        var_dump($header);
    });
Run Code Online (Sandbox Code Playgroud)

我只看到一个标头转储了出来,即“ HTTP / 1.1 201 Created”响应代码。

Sim*_*gro 5

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER,true);

$result = curl_exec($ch);

curl_close($ch);

list($headers, $content) = explode("\r\n\r\n",$result,2);

// Print header
foreach (explode("\r\n",$headers) as $hdr)
    printf('<p>Header: %s</p>', $hdr);

// Print Content
echo $content;
Run Code Online (Sandbox Code Playgroud)

  • 如果体内出现\ r \ n \ r \ n怎么办? (2认同)