Я пытаюсь использовать API Stack Exchange с помощью Guzzle. Я столкнулся с проблемой, из-за которой я не могу получить ответ JSON: он, по-видимому, не работает при его синтаксическом анализе.
Вот мой код:
$client = new GuzzleHttp\Client();
$parameters = ['pagesize'=>'2','order'=>'desc','sort'=> 'activity','q'=>'laravel eloquent','site'=>'stackoverflow'];
$response = $client->get('http://api.stackexchange.com/2.2/search/advanced',['query' => $parameters ]);
Результирующий эффективный URL-адрес, который Guzzle создает правильный: если вы откроете ссылку в своем браузере, вы увидите, что она работает нормально и возвращает запрошенные данные.
Однако Guzzle выдает эту ошибку при попытке доступа к JSON с $response->json()
:
GuzzleHttp \ Exception \ ParseException
Невозможно проанализировать данные JSON: JSON_ERROR_UTF8 - неправильно сформированные символы UTF-8, возможно, неправильно закодированные
После повторного чтения документации я считаю, что запрос сжат, и я не передаю соответствующий заголовок содержимого. Если это так, не могли бы вы сообщить мне, какой заголовок я должен передать, чтобы получить правильный ответ?