Ответ от указанного c URL не является допустимым текстом при использовании CURL (отлично работает в браузере) - PullRequest
0 голосов
/ 17 января 2020

Этот URL-адрес отвечает текстом JSON, если я захожу в браузер, однако, пытаясь get с помощью CURL, я получаю то, что выглядит как двоичные данные, которые не являются допустимой строкой. Я не уверен, что происходит. Воспроизвести его просто, попробуйте этот URL в браузере, а затем с помощью CURL: https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_Bldgs/SceneServer/layers/0?f=json

В браузере вы получите JSON текст, но в CURL вы get

?
?Vmo?H?+??z??1??P?tMҐ... etc

Я имел дело со многими подобными URL и никогда не сталкивался с этим раньше. Очень ценю любые предложения.

Ответы [ 2 ]

1 голос
/ 17 января 2020

Я только что проверил заголовки ответа. Сервер отправляет ответ в режиме сжатия GZIP. Большинство современных браузеров могут распаковывать автоматически, но не cURL. enter image description here

Мы должны распаковать ответ, чтобы получить фактические данные. Вы можете использовать cURL вместе с gunzip .

Наконец, ваша команда curl выглядит следующим образом:

$curl https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_Bldgs/SceneServer/layers/0?f=json  | gunzip -
1 голос
/ 17 января 2020

Я сравнил для вас разницу, сервер запросов браузера со сжатием, поэтому вы можете попробовать curl --compressed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...