#php #symfony #localhost
Вопрос:
Я пытаюсь с помощью Symfony 5 сделать запрос на свой API, разработанный с помощью платформы API.
URL-адрес, о котором идет речь, является https://127.0.0.1:8000/api/cheeses
Когда я делаю запрос на получение этого с почтальоном, все работает хорошо. И если я перейду по URL-адресу в своем браузере, это сработает. Но невозможно сделать запрос на PHP с помощью Symfony. Я сделал это вот так :
use SymfonyContractsHttpClientHttpClientInterface;
class AbstractService
{
public function __construct(private HttpClientInterface $client){}
protected function request(string $method, string $path, array $params = [])
{
$response = $this->client->request('GET', 'https://127.0.0.1:8000/api/cheeses', [
'headers' => [
'Content-Type' => 'application/json',
]
]);
dd(json_decode($response->getContent(), true, 512, JSON_THROW_ON_ERROR));
}
}
Когда я пытаюсь это повторить, и я получаю ошибку :
Время ожидания ожидания достигло «https://127.0.0.1:8000/api/cheeses».
Но если я пытаюсь использовать внешний URL, например https://api.github.com/repos/guzzle/guzzle, это работает.
Моя конфигурация nelmio_cors :
nelmio_cors:
defaults:
origin_regex: true
allow_origin: ['*']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization']
expose_headers: ['Link']
max_age: 3600
paths:
'^/': null
Есть идеи ?
Комментарии:
1. Как вы обслуживаете приложение? Какой сервер вы используете? Есть ли в этом деле контейнер docker?
2. Я подаю заявку с
symfony serve
помощью . Сервер Apache, локальный, и нет, это не контейнер docker3. Понятия не имею, возможно, проблема в SSL-сертификате. Это проблема с использованием интерфейса командной строки symfony, он запутывает часть процесса.
4. Я тестировал с SSL и без SSL, и это та же ошибка
5. Привет. Попробуйте удалить https-часть запроса, на всякий случай.