Как подставить user-agent в guzzle?

$userAgents - массив user-agent`ов
$client = new Client([
     'base_uri' => 'http://site.com',
     'timeout' => 2.0,
     'headers' => [
         'User-Agent' => $userAgents[rand(0, count($userAgents))],
         'test-header' => 'test-value'
     ]
 ]);



$res = $client->request('GET', 'ru');

getHeaders() не возвращает user-agent
Как его правильно подставить?
  • Вопрос задан
  • 3576 просмотров
Решения вопроса 1
@sagechild
программист php
Обратите внимание, что у вас в 'User-Agent' может попадать пустое значение, так как rand выдает значения включительно максимальное и можно получить несуществующий индекс массива. Поэтому нужно вычитать единицу:
$userAgents[rand(0, count($userAgents) - 1)]

По существу вопроса. У вас все правильно задано. Чтобы проверить, что вы задали user-agent в клиенте используйте следующий код:
var_dump($client->getConfig('headers'));
$res = $client->request('GET', 'ru');


Хочется полюбопытствовать: а по какой причине лично вы используете guzzle, а не стандартные file, file_get_contents либо curl?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы