Задать вопрос
pazukdev
@pazukdev
Java Dev

Почему запрос к Google Maps Static API не работает через https + http2?

У меня есть веб-страница, обслуживаемая по https, которая должна отображать картинку, созданную через Google Maps Static API. Я пытаюсь создать изображение карты, сделав запрос к API через http:

<img src="http://maps.googleapis.com/maps/api/staticmap?client=CLIENT_ID&signature=MY_SIGNATURE"/>


Но в Chrome > "Inspect" > вкладка "Network" я вижу запрос к "https://maps.googleapis.com/maps/api/staticmap?cli..." (через http2, я полагаю)

Кроме того, когда я пытаюсь выполнить запрос "https://maps.googleapis.com/maps/api/staticmap?cli..." через адресную строку браузера, я получаю ошибку 400 с сообщением об ошибке "Your client has issued a malformed or illegal request".

Когда я пытаюсь отправить http и https запросы через Postman, я получаю следующие результаты:
- http + http1.1 -> ответ 200 ✅
- http + http2 -> ответ 200 ✅
- https + http1.1 -> ответ 200 ✅
- https + http2 -> ответ 400 ❌ (Сообщение об ошибке: «Your client has issued a malformed or illegal request»)

Может ли кто-нибудь сказать, что происходит?
  • Вопрос задан
  • 25 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
pazukdev
@pazukdev Автор вопроса
Java Dev
Всё, сам разобрался:

Cause
The URL of the image contains params that are passed unencoded in UTF-8. And because of one of these unencoded params, namely the "path" parameter, Google identified the URL as malformed or invalid and returned a 400 error.

Fix
Encode "path" param in UTF-8.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы