使用http.NewRequest函數建立一個新的GET請求對象,並設定請求頭和參數
在Go語言中,我們可以使用http.NewRequest
函數來建立一個新的GET請求對象,並設定請求頭和參數。 http.NewRequest
函數接受三個參數:請求方法、請求URL和請求體。我們可以使用http.MethodGet
常數表示GET請求方法,使用字串表示要傳送的請求URL,如果沒有請求體,可以傳入nil。
我們首先需要導入net/http
和fmt
套件:
import ( "fmt" "net/http" )
然後,我們可以使用http.NewRequest
函數建立一個新的GET請求對象,並設定請求頭和參數。範例程式碼如下:
func main() { url := "https://example.com/api" req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { fmt.Println("创建请求失败:", err) return } // 设置请求头 req.Header.Add("Authorization", "Bearer token123") // 设置请求参数 query := req.URL.Query() query.Add("key1", "value1") query.Add("key2", "value2") req.URL.RawQuery = query.Encode() // 发送请求 client := http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("发送请求失败:", err) return } defer resp.Body.Close() // 处理响应 fmt.Println("状态码:", resp.StatusCode) }
在上面的範例中,我們建立了一個GET請求對象,並設定了請求頭和參數。我們可以使用req.Header.Add
方法新增請求頭,使用req.URL.Query
方法取得請求URL的查詢參數,並使用query.Add
#方法新增參數。
最後,我們使用http.Client
發送請求,並使用resp.StatusCode
來取得回應的狀態碼。這裡我們使用了defer resp.Body.Close()
語句來確保響應體在使用完畢後被關閉,以避免資源洩漏。
總結:使用http.NewRequest
函數可以方便地建立一個新的GET請求對象,並設定請求頭和參數。我們可以透過呼叫相關的方法來新增請求頭和參數。發送請求和處理回應的程式碼也很簡單,透過http.Client
和resp.StatusCode
即可。這樣的程式碼結構清晰,方便擴充和維護。
以上是使用http.NewRequest函數建立一個新的GET請求對象,並設定請求頭和參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!