Тестирование API с получением Guzzle 403 - PullRequest
0 голосов
/ 11 марта 2019

Я кодирую API с помощью Symfony 4, поэтому для его проверки я установил Guzzle для выполнения некоторых запросов. У меня есть локальный веб-сервер (тот же, что и на php - или, что важно, тот, который вы запускаете с консоли symfony).

Мой код указан ниже:

<?php

require __DIR__.'/vendor/autoload.php';

use GuzzleHttp\Psr7\Request;

$client = new \GuzzleHttp\Client([
    'base_uri' => 'http://127.0.0.1:8000',
    'http_errors' => false,
]);

$response = $client->get('/');

echo $response->getStatusCode();    // --> 403

Или, если я прокомментирую строку 'http_errors' => false, я получу:

PHP Fatal error:  Uncaught GuzzleHttp\Exception\ClientException: Client error: `GET http://127.0.0.1:8000/` resulted in a `403 Forbidden` response:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv (truncated...)
 in D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php:113
Stack trace:
#0 D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\guzzle\src\Middleware.php(66): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
#1 D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\promises\src\Promise.php(203): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
#2 D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\promises\src\Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), Array)
#3 D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\promises\src\Ta in D:\Work\Programming\SIGMET\2.0\sigmet_2.0\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php on line 113

Что это может быть? Заранее спасибо.

1 Ответ

0 голосов
/ 11 марта 2019

Я обнаружил, что проблема заключалась в переменных окружения, определяющих настройки прокси

...