ОШИБКА: Guzzle не будет следовать более чем за 1 перенаправлением Drupal 8

Я хочу спросить что-то непонятное,

у меня был скрипт жрать в drupal 8 вот так

      $client = \Drupal::service('http_client');
      $getUserInfo = $client->get($this->url, [
                                    'Accept' => 'application/json', 
                                    'auth' => [
                                               $this->authUsername, 
                                               $this->authPassword
                                              ]
                                   ]);
      $resultUser = json_decode($getUserInfo->getBody()); 

я получаю сообщение об ошибке, подобное этому ошибка

но это странно, иногда эта ошибка отсутствует, но когда-то она появлялась, я не знаю, что происходит

и не только в этом скрипте, но и в каждом Guzzle-запросе

я попробую

  • увеличьте максимальное перенаправление до 1000, но это не работает
  • отключено перенаправление жрать, но оно все еще не работает

мой анализ

  • я тестирую API с POSTMAN, все в порядке
  • и у меня был проект с laravel на том же сервере с тем же API и его работой

это просто происходит в проекте drupal на этом сервере, но на другом сервере все в порядке

может у кого была такая же проблема

пожалуйста, порекомендуйте

Спасибо


person Aris Haryanto    schedule 21.07.2017    source источник


Ответы (1)


Пробовали ли вы увеличить максимальное количество редиректов?

$client->get($this->url, [
    'headers' => [
        'Accept' => 'application/json',
    ],
    'auth' => [
        $this->authUsername,
        $this->authPassword
    ],
    'allow_redirects' => [
        'max' => 5,
    ]
]);

P.S. Также у вас есть ошибка с 'Accept': он должен быть внутри контейнера 'headers'.

person Alexey Shokov    schedule 21.07.2017
comment
я добавлял подобное раньше, но он просто перенаправляет столько, сколько максимальное значение, если я добавляю max => 1000, это просто цикл 1000 перенаправления - person Aris Haryanto; 25.07.2017
comment
Затем, если в Postman он работает нормально, попробуйте установить User-Agent браузера (некоторые сайты принимают решения на его основе) и, возможно, другие заголовки, которые отправляет Postman. У меня была такая проблема из-за заголовков. - person Alexey Shokov; 26.07.2017