我是PHP的新手,正在尝试调用REST服务。我可以在PHP中使用Curl或Guzzle客户端。后来我在Mozilla和Chrome浏览器中调用此服务。
问题是Guzzle和Curl没有将实际的User-Agent头作为请求头转发到后端服务。
默认狂饮User-Agent header is Guzzle/ver curl/ver PHP/ver
我知道我们可以在Curl和Guzzle中添加自定义/硬编码的头文件。但是我不想硬编码。
<?php
require './vendor/autoload.php';
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'http://sample.com');
$data = json_decode($res->getBody(), true);
//echo $res->getBody()
?>
<html>
<body>
<p>Body is <?php echo $res->getBody() ?> </p>
</body>
</html>
当我从Chrome/Mozilla/移动的/Safari调用PHP服务时,我希望将相应的user-agent
头作为请求头发送到后端服务。
有没有办法做到这一点呢?
2条答案
按热度按时间3htmauhk1#
PHP有一个内置的数组,用于存储来自request -
$_SERVER['HTTP_USER_AGENT']
的数据。然后,您可以使用
headers
选项设置user-agent
gzzle使用。hc8w905p2#
对于GuzzleHttp\客户端:
或
对于php cUrl:
希望这对某人有帮助