Настройка заголовка пользовательского агента с помощью Goutte / Guzzle? (ошибка неопределенного метода)

#javascript #php #laravel #vue.js

#javascript #php #laravel #vue.js

Вопрос:

Я пытаюсь установить user-agent в Goutte, я использую setHeader, но я получаю ошибку setHeader неопределенного метода в консоли.

 Call to undefined method GoutteClient::setHeader()
  

Как я могу установить заголовок пользовательского агента в Goutte?

 public function getGoogleResults(Request $request)
    {
        $terms = 'Nata amp; Chocolate Gluten Free Bakery';//$request->input('terms');
        $url = 'http://www.google.es/search?'.http_build_query(array('q' => $terms));
        
        $client = new Client;
        $client->setHeader('user-agent', "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36");
        $crawler = $client->request('GET', $url);
}
  

Ответ №1:

вы можете использовать setServerParameter для настройки заголовков:

 $client->setServerParameter('name', 'value');
  

например:

 $client->setServerParameter('HTTP_USER_AGENT', 'user agent');
  

ссылка:https://github.com/FriendsOfPHP/Goutte/issues/401#issuecomment-591760247

безусловно, в symfony вы можете использовать HttpClient Symfony component для указания параметра конфигурации в «new Client();»

это вы можете увидеть по следующей ссылке