如何使用动态 user-agent header 使用 PHP Curl 或 Guzzle 客户端
How to use dynamic user-agent header using PHP Curl or Guzzel Client
我是 PHP 的新手,正在尝试调用 REST 服务。我可以使用 Curl 或 PHP 中的 Guzzle Client 来做到这一点。后来我从 Mozilla 和 Chrome 浏览器调用它。
问题是 Guzzle 并且 Curl 没有将实际的 User-Agent header 作为请求 Header 转发到后端服务。
默认GuzzleUser-Agent header is Guzzle/ver curl/ver PHP/ver
我知道我们可以在 Curl 和 Guzzle 中添加 custom/hardcoded header。但我不想硬编码。
<?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/Mobile/Safari 调用 PHP 服务时,我希望相应的 user-agent
header 作为请求 header 发送到后端服务。
有没有办法做到这一点?
PHP 有一个内置数组,用于存储来自请求的数据 -$_SERVER['HTTP_USER_AGENT']
.
然后您可以使用 headers
选项设置 user-agent
guzzle 用途。
$client->request('GET', '/get', [
'headers' => [
'User-Agent' => $_SERVER['HTTP_USER_AGENT'],
]
]);
我是 PHP 的新手,正在尝试调用 REST 服务。我可以使用 Curl 或 PHP 中的 Guzzle Client 来做到这一点。后来我从 Mozilla 和 Chrome 浏览器调用它。
问题是 Guzzle 并且 Curl 没有将实际的 User-Agent header 作为请求 Header 转发到后端服务。
默认GuzzleUser-Agent header is Guzzle/ver curl/ver PHP/ver
我知道我们可以在 Curl 和 Guzzle 中添加 custom/hardcoded header。但我不想硬编码。
<?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/Mobile/Safari 调用 PHP 服务时,我希望相应的 user-agent
header 作为请求 header 发送到后端服务。
有没有办法做到这一点?
PHP 有一个内置数组,用于存储来自请求的数据 -$_SERVER['HTTP_USER_AGENT']
.
然后您可以使用 headers
选项设置 user-agent
guzzle 用途。
$client->request('GET', '/get', [
'headers' => [
'User-Agent' => $_SERVER['HTTP_USER_AGENT'],
]
]);