Как использовать динамический заголовок user-agent, используя PHP Curl или Guzzel Client - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в PHP и пытаюсь вызвать службу REST.Я мог бы сделать это с помощью Curl или Guzzle Client в PHP.Позже я звоню из Mozilla и Chrome Browser.

Проблема в том, что Guzzle и Curl не перенаправляют фактический заголовок User-Agent в качестве заголовка запроса в бэкэнд-сервисы.

По умолчанию Guzzle 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>

Когда я вызываю службу PHP из Chrome / Mozilla / Mobile / Safari, я хочу, чтобы соответствующие заголовки user-agent отправлялись как заголовки запросов в бэкэнд-сервисы.

ЕслиЕсть ли способ сделать это в любом случае?

1 Ответ

0 голосов
/ 08 февраля 2019

PHP имеет встроенный массив, в котором хранятся данные из запроса - $_SERVER['HTTP_USER_AGENT'].

Затем вы можете установить использование user-agent жадности с опцией headers.

$client->request('GET', '/get', [
    'headers' => [
        'User-Agent' => $_SERVER['HTTP_USER_AGENT'],
    ]
]);
...