我在PHP中使用cURL来POST到创建资源的端点。它返回201响应,其Location标题给出了创建的资源的URL。我也在回复的主体中得到了一些信息。
获取响应的纯文本正文的最佳方法是什么,并获取位置标题的值? curl_getinfo不会返回该标头,当我这样做时:
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($ch, $header) {
var_dump($header);
});
我只看到一个标头被丢弃 - “HTTP / 1.1 201 Created”响应代码。
答案 0 :(得分:4)
$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;