Setting User Agent header with Goutte/Guzzle? (undefined method error)

Viewed 2114

I'm trying to set user-agent in Goutte, I'm using setHeader but I get undefined method setHeader error in console.

Call to undefined method Goutte\Client::setHeader()

How can I set user-agent header in Goutte?

public function getGoogleResults(Request $request)
    {
        $terms = 'Nata & 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 Answers

you can use setServerParameter for setting headers:

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

such as:

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

reference: https://github.com/FriendsOfPHP/Goutte/issues/401#issuecomment-591760247

absolutly in symfony you can use HttpClient Symfony component for giving constraction parameter in "new Client();"

that you can see it in followed link

Related