Jor*_*dan 1 get http go content-length
我正在使用下面的代码发出HTTP Get请求.我通过Fiddler代理它来分析请求.该请求似乎正在正确进行,具有预期的响应.然而,
尽管Fiddler中的响应显示正整数值,但resp.ContentLengthGO中响应的属性-1每次都是Content-Length: 1830.
为什么ContentLength没有在GO中被选中?
去代码
package main
import "net/http"
import "os"
import "fmt"
func main() {
os.Setenv("HTTP_PROXY", "http://127.0.0.1:8888") // For Fiddler debugging
resp,err := http.Get("http://www.google.com/robots.txt")
if (err == nil) {
if (resp.StatusCode == 200) {
fmt.Println(resp.ContentLength) // Prints -1
}
}
}
Run Code Online (Sandbox Code Playgroud)
Fiddler的结果请求
GET /robots.txt HTTP/1.1
Host: www.google.com
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)
在Fiddler收到的回复
HTTP/1.1 200 OK
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Type: text/plain
Content-Length: 6907
Date: Mon, 05 Mar 2018 13:53:00 GMT
Expires: Mon, 05 Mar 2018 13:53:00 GMT
Cache-Control: private, max-age=0
Last-Modified: Thu, 01 Mar 2018 18:00:00 GMT
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 1; mode=block
Run Code Online (Sandbox Code Playgroud)