使用http.Get函数发送GET请求并获取响应状态码及响应内容长度 在Go语言中,我们可以使用http包提供的http.Get函数来发送GET请求。通过GET请求,我们可以获取到服务端返回的响应状态码以
使用http.Get函数发送GET请求并获取响应状态码及响应内容长度
在Go语言中,我们可以使用http包提供的http.Get函数来发送GET请求。通过GET请求,我们可以获取到服务端返回的响应状态码以及响应内容的长度。下面让我们一起来看一下具体的实现过程。
首先,在我们的Go代码中,需要导入net/http包来使用http.Get函数。代码如下所示:
package main import ( "fmt" "net/http" ) func main() { // 发送GET请求 resp, err := http.Get("http://www.example.com") if err != nil { fmt.Println("发送GET请求失败:", err) return } defer resp.Body.Close() // 获取响应状态码 statusCode := resp.StatusCode fmt.Println("响应状态码:", statusCode) // 获取响应内容长度 contentLength := resp.ContentLength if contentLength == -1 { fmt.Println("响应内容长度未知") } else { fmt.Println("响应内容长度:", contentLength) } }
在上面的代码中,我们通过http.Get函数发送了一个GET请求到"http://www.example.com",并将响应结果赋值给resp变量。同时,我们使用defer关键字来确保在函数返回之前关闭响应Body,以防资源泄漏。
接着,我们使用resp.StatusCode来获取响应状态码,并打印出来。响应状态码表示了服务端对请求的处理结果,它通常是一个三位数的整数,例如200表示请求成功,404表示页面未找到。
最后,我们使用resp.ContentLength来获取响应内容的长度,并打印出来。ContentLength返回的是一个int64类型的值,表示了响应内容的大小。需要注意的是,有些服务端可能不会在响应头中提供Content-Length字段,这种情况下ContentLength会返回-1,表示响应内容长度未知。
通过以上代码,我们可以发送GET请求并获取到响应状态码及响应内容长度。你可以根据需要对代码进行修改,以适应自己的实际需求。希望本文对你有所帮助!