我是新来的PHP,并试图调用REST服务。我能做到这一点无论是使用卷曲或PHP狂饮客户端。后来我从Mozilla和Chrome的浏览器调用此。
问题是,狂饮和卷曲不转发实际的User-Agent头为请求头与后端服务。
默认狂饮User-Agent header is Guzzle/ver curl/ver PHP/ver
我知道我们可以在这两个卷曲添加自定义/硬编码的头和狂饮。但我不想硬编码。
<?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
头将作为请求头到后端服务发送。
如果有一种方法以任何方式做到这一点?
PHP有一个内置的阵列,其从请求-$_SERVER['HTTP_USER_AGENT']
存储数据。
然后,您可以设置user-agent
狂饮与headers
选项使用。
$client->request('GET', '/get', [
'headers' => [
'User-Agent' => $_SERVER['HTTP_USER_AGENT'],
]
]);