首頁  >  文章  >  後端開發  >  使用http.Get函數發送GET請求並取得回應狀態碼及回應內容長度

使用http.Get函數發送GET請求並取得回應狀態碼及回應內容長度

王林
王林原創
2023-07-24 15:55:491326瀏覽

使用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