欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

golang两种请求http的方式

发布时间:2025/6/15 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 golang两种请求http的方式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http请求在工作很常见了,下面看一下常见的2中http请求方式

 if response != nil {
                defer response.Body.Close()
}

注意这段代码,先判断response是否nil,如果response是nil,程序会崩溃

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)) }

发送https请求用http.get可以,http.NewRequest那种方法不行

总结

以上是生活随笔为你收集整理的golang两种请求http的方式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。