gpt4 book ai didi

http - HTTP响应抛出错误gzip : invalid header

转载 作者:行者123 更新时间:2023-12-01 20:03:05 41 4
gpt4 key购买 nike

不明白什么是错的。 ioutil.ReadAll应该使用gzip作为其他URL。

可以复制URL:romboutskorea.co.kr

错误:

gzip: invalid header



代码:
resp, err := http.Get("http://" + url)
if err == nil {
defer resp.Body.Close()

if resp.StatusCode == http.StatusOK {
fmt.Printf("HTTP Response Status : %v\n", resp.StatusCode)
bodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("HTTP Response Read error. Url: %v\n", url)
log.Fatal(err)
}
bodyString := string(bodyBytes)

fmt.Printf("HTTP Response Content Length : %v\n", len(bodyString))
}
}

最佳答案

这个网站的回应是错误的。它声称使用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'))

关于http - HTTP响应抛出错误gzip : invalid header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60181348/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com