это ошибка сервера odis.homeaway.com
, вы должны отправить их вебмастеру отчет об ошибке.
их сервер ВСЕГДА отправляет изображение в формате https://odis.homeaway.com/odis/listing/5895882c-6c65-47f5-b782-e13b8246e4aa.c10.jpg gzip, даже если клиент НЕ указал accept-encoding: gzip
. wget вообще не поддерживает сжатие gzip, но curl поддерживает. пока они не исправят свой сервер, вы можете указать curl распаковать его для вас автоматически, установив аргумент --compressed
в версии командной строки или установив CURLOPT_ENCODING=>'gzip'
в curl_ api, или запустив его через gzdecode (), например, $image_data = gzdecode(file_get_contents($image));
(метод gzdecode () рекомендуется НЕ , потому что он перестанет работать, как только они действительно исправят свой сервер, и работает только сейчас, потому что их сервер прослушен). причина, по которой ваш браузер не подвержен данной ошибке, заключается в том, что все основные браузеры всегда отправляют Accept-Encoding: gzip
(и другие) по умолчанию.
edit: изначально я упоминал gzuncompress()
, а не gzdecode()
, это была ошибка, правильная функция декомпрессии - gzdecode()
.