Ответ этого сайта неправильный. Он требует gzip-кодирования, но фактически не сжимает содержимое. Ответ выглядит примерно так:
HTTP/1.1 200 OK
...
Content-Encoding: gzip
...
Transfer-Encoding: chunked
Content-Type: text/html; charset=euc-kr
8000
<html>
<head>
...
"8000" происходит из кодирования чанкованной передачи, но "..." - это начало тела чанкованного ответа. Очевидно, что это не сжато, несмотря на то, что заявлено так. Браузеры на самом деле работают со множеством испорченных вещей, что на самом деле не добавляет мотивации провайдерам для устранения этих проблем :( Но вы можете видеть, что curl
не сможет:
$ curl -v --compressed http://romboutskorea.co.kr/main/index.php?
...
< HTTP/1.1 200 OK
< ...
< Content-Encoding: gzip
< ...
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=euc-kr
<
* Error while processing content unencoding: invalid code lengths set
* Failed writing data
* Curl_http_done: called premature == 1
* Closing connection 0
curl: (23) Error while processing content unencoding: invalid code lengths set
И так же Python :
$ python3 -c 'import requests; requests.get("http://romboutskorea.co.kr/main/index.php?")'
...
requests.exceptions.ContentDecodingError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect header check'))