Вариант конфигурации Goutte/Guzzle Set

Я просматриваю веб-страницу, которая возвращает перенаправление, поэтому я хотел бы добавить параметр конфигурации в свой crawler, который позволит мне установить allow_redirects на false. Глядя на веб-страницу guzzle.readthedocs.org в отношении перенаправлений, там говорится

$response = $client->get('http://github.com', ['allow_redirects' => false]);
echo $response->getStatusCode();
// 301 

Поскольку я использую Goutte с Symfony2, эти команды немного отличаются. Например:

$client->getClient()->setDefaultOption('config/curl/'.CURLOPT_SSL_VERIFYHOST, FALSE); 

Может ли кто-нибудь помочь мне узнать, как я могу добавить жратву allow_redirects в конфигурацию? Я чувствую, что это поможет мне не получать контент страницы, который я хочу, а не crawler полный кода перенаправления.

Спасибо!


person Kenny    schedule 11.08.2015    source источник


Ответы (1)


Ваш вопрос в том, как «перевести» ['allow_redirects' => false] в синтаксис Goutte?

Вот как настроить параметры cURL в Goutte: https://github.com/FriendsOfPHP/Goutte (ищите «Точная настройка параметров cURL:»)

И http://php.net/manual/en/function.curl-setopt.php дает вам имя параметра, который вы ищете: CURLOPT_FOLLOWLOCATION

Итак, собираем все вместе:

$client->getClient()->setDefaultOption('config/curl/'.CURLOPT_FOLLOWLOCATION, false;

Если это не то, о чем вы просили, отредактируйте свой вопрос и уточните.

person Thomas Landauer    schedule 30.10.2015
comment
Когда я пытаюсь это сделать, я получаю следующую ошибку. Уловимая фатальная ошибка: Аргумент 3, переданный в GuzzleHttp\Client::request(), должен иметь тип array, логическое значение. Я использую следующий код: $this-›client-›getClient()-›setDefaultOption('config/curl/'.CURLOPT_SSL_VERIFYPEER, false); - person osantos; 19.05.2016