方式一 使用http.Newrequest
創(chuàng)新互聯(lián)建站是專業(yè)的友好網(wǎng)站建設(shè)公司,友好接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行友好網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
先生成http.client -> 再生成 http.request -> 之后提交請(qǐng)求:client.Do(request) -> 處理返回結(jié)果,每一步的過(guò)程都可以設(shè)置一些具體的參數(shù),下面是一個(gè)最樸素最基本的例子:
//question ???將stdout重定向?yàn)閞esponse信息??? package main import ( "fmt" "io" "net/http" "os" ) func main() { //生成client 參數(shù)為默認(rèn) client := &http.Client{} //生成要訪問(wèn)的url url := "http://www.baidu.com" //提交請(qǐng)求 reqest, err := http.NewRequest("GET", url, nil) if err != nil { panic(err) } //處理返回結(jié)果 response, _ := client.Do(reqest) //將結(jié)果定位到標(biāo)準(zhǔn)輸出 也可以直接打印出來(lái) 或者定位到其他地方進(jìn)行相應(yīng)的處理 stdout := os.Stdout _, err = io.Copy(stdout, response.Body) //返回的狀態(tài)碼 status := response.StatusCode fmt.Println(status) }
方式二 先生成client,之后用client.get/post..
client結(jié)構(gòu)自己也有一些發(fā)送api的方法,比如client.get,client.post,client.postform..等等?;旧虾w了主要的http請(qǐng)求的類型,通常不進(jìn)行什么特殊的配置的話,這樣就可以了,其實(shí)client的get或者post方法,也是對(duì)http.Newerequest方法的封裝,里面還額外添加了req.Header.Set("Content-Type", bodyType)一般用的話,也是ok的。
以上就是golang如何寫(xiě)http請(qǐng)求的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!