golang两种请求http的方式
生活随笔
收集整理的這篇文章主要介紹了
golang两种请求http的方式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http請(qǐng)求在工作很常見(jiàn)了,下面看一下常見(jiàn)的2中http請(qǐng)求方式
?if?response?!=?nil?{
????????????????defer?response.Body.Close()
}
注意這段代碼,先判斷response是否nil,如果response是nil,程序會(huì)崩潰
package mainimport ("crypto/tls""encoding/json""fmt""io/ioutil""net/http""strings""time" )func DoHttpGetSsl(reqParam interface{}, serverUrl string) ([]byte, error) {if len(serverUrl) <= 0 {return nil, nil}tr := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},}client := &http.Client{Timeout: time.Duration(10 * time.Second),Transport:tr}marshal, e := json.Marshal(reqParam)if e != nil {return nil, e}data := string(marshal)req, err := http.NewRequest("GET", serverUrl, strings.NewReader(data))if err != nil {return nil, err}response, err := client.Do(req)if response != nil {defer response.Body.Close()}if err != nil || response == nil {return nil, err}bytes, err := ioutil.ReadAll(response.Body)if err != nil {return nil, err}fmt.Println("3333")return bytes, nil }func main() {resp, err := http.Get("https://www.googleapis.com/youtube/v3/search?key=xxx&type=video&q=game&order=rating&relevanceLanguage=ru&videoDuration=any&publishedAfter=2020-01-01T00:00:00Z")if err != nil {fmt.Println("http.Get err=",err)return}bytes, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Println("ioutil.ReadAll err=",err)return}fmt.Println(string(bytes)) }發(fā)送https請(qǐng)求用http.get可以,http.NewRequest那種方法不行
總結(jié)
以上是生活随笔為你收集整理的golang两种请求http的方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 根据关键字检索相关视频
- 下一篇: golang操作文件