首页 > Web开发 > 详细

Go 发送http请求

时间:2021-08-13 14:45:13      阅读:7      评论:0      收藏:0      [点我收藏+]
package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
)

func errCheck(err error) {
	if err != nil {
		panic(err)
	}
}

func printBody(r *http.Response) {
	body, _ := ioutil.ReadAll(r.Body)
	fmt.Println(string(body))
}

// 发送Get请求
func get() {
	request, err := http.NewRequest(http.MethodGet, "http://httpbin.org/get", nil)
	errCheck(err)
	params := make(url.Values)
	params.Add("name", "Marshmallow")
	params.Add("age", "18")
	// fmt.Println(params.Encode()) // 这个可以自己打印下,其实就是age=18&name=Marshmallow
	request.URL.RawQuery = params.Encode()
	r, err := http.DefaultClient.Do(request)
	errCheck(err)
	defer func() { _ = r.Body.Close() }()
	printBody(r)

}

// 发送Post请求
func post() {
	request, err := http.NewRequest(http.MethodPost, "http://httpbin.org/post", nil)
	errCheck(err)
	r, err := http.DefaultClient.Do(request)
	errCheck(err)
	defer func() { _ = r.Body.Close() }()
	printBody(r)
}

// 发送Put请求
func put() {
	request, err := http.NewRequest(http.MethodPut, "http://httpbin.org/put", nil)
	errCheck(err)
	r, err := http.DefaultClient.Do(request)
	errCheck(err)
	defer func() { _ = r.Body.Close() }()
	printBody(r)
}

// 发送Delete请求
func del() {
	request, err := http.NewRequest(http.MethodDelete, "http://httpbin.org/delete", nil)
	errCheck(err)
	r, err := http.DefaultClient.Do(request)
	errCheck(err)
	defer func() { _ = r.Body.Close() }()
	printBody(r)
}

func main() {
	get()
	post()
	put()
	del()
}


Go 发送http请求

原文:https://www.cnblogs.com/liy36/p/15136499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!