首页 >后端开发 >Golang >使用http.Get函数发送GET请求并获取响应状态码及响应内容长度

使用http.Get函数发送GET请求并获取响应状态码及响应内容长度

王林
王林原创
2023-07-24 15:55:491398浏览

使用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请求并获取到响应状态码及响应内容长度。你可以根据需要对代码进行修改,以适应自己的实际需求。希望本文对你有所帮助!

以上是使用http.Get函数发送GET请求并获取响应状态码及响应内容长度的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn