golang寫http請求的方法:
#方式一使用http.Newrequest
先生成http. client -> 再產生http.request -> 之後提交請求:client.Do(request) -> 處理回傳結果,每一步的過程都可以設定一些具體的參數,下面是一個最樸素最基本的例子:
//question ???将stdout重定向为response信息??? package main import ( "fmt" "io" "net/http" "os" ) func main() { //生成client 参数为默认 client := &http.Client{} //生成要访问的url url := "http://www.baidu.com" //提交请求 reqest, err := http.NewRequest("GET", url, nil) if err != nil { panic(err) } //处理返回结果 response, _ := client.Do(reqest) //将结果定位到标准输出 也可以直接打印出来 或者定位到其他地方进行相应的处理 stdout := os.Stdout _, err = io.Copy(stdout, response.Body) //返回的状态码 status := response.StatusCode fmt.Println(status) }
方式二先生成client,之後用client.get/post..
client結構自己也有一些發送api的方法,例如client.get, client.post,client.postform..等等。基本上涵蓋了主要的http請求的類型,通常不進行什麼特殊的配置的話,這樣就可以了,其實client的get或者post方法,也是對http.Newerequest方法的封裝,裡面還額外添加了req.Header .Set("Content-Type", bodyType)一般用的話,也是ok的。
更多go語言知識請關注PHP中文網go語言教學專欄。
以上是golang如何寫http請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!