使用 Guzzle 执行 http 请求后,我想打印所有响应标头。我怎样才能做到这一点?
在 guzzle 文档中指出该getHeaders()方法应该能够将标头转换为字符串,但是
<?php
print $response->getHeaders();
?>
Run Code Online (Sandbox Code Playgroud)
不起作用。还指出GuzzleHttp\Message\Response应该有一个方法被调用getRawHeaders(),它应该将标题作为字符串返回,但是 php 告诉我该方法在 Response 对象上未定义。那么,如何完成将所有响应标头打印为字符串的任务?
小智 5
如果您想在 Guzzle 6.0 中查看详细版本的响应和请求标头,则需要在请求中启用调试选项。例如:
$YourGuzzleclient=new Client();
$YourGuzzleclient->request('POST', '{Your url}',
['debug'=>true,'otheroptions'=>array()]
);
Run Code Online (Sandbox Code Playgroud)
此选项将打印所有响应和请求标头。查看文档页面,您可以在其中找到更多信息。
我相信您将不得不遍历标题,试试这个:
foreach ($response->getHeaders() as $name => $values) {
echo $name . ': ' . implode(', ', $values) . "\r\n";
}
Run Code Online (Sandbox Code Playgroud)
根据api(http://api.guzzlephp.org/class-Guzzle.Http.Message.Response.html#_getRawHeaders),你可以这样做:
echo $response->getRawHeaders();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16720 次 |
| 最近记录: |