GET请求
func main() {
// 发送请求
r, err := http.Get("https://www.baidu.com?name=boychai&age=18")
// 检查错误
if err != nil {
panic(err)
}
// 释放
defer func() { _ = r.Body.Close() }()
//读取请求内容
content, err := ioutil.ReadAll(r.Body)
if err != nil {
panic(err)
}
fmt.Println(string(content))
}
POST请求
func main() {
// 发送请求
r, err := http.Post("https://www.baidu.com", "", nil)
// 检查错误
if err != nil {
panic(err)
}
// 释放
defer func() { _ = r.Body.Close() }()
//读取请求内容
content, err := ioutil.ReadAll(r.Body)
if err != nil {
panic(err)
}
fmt.Println(string(content))
}
提交FROM表单
func main() {
// from data 形式类似于 name=boychai&age=18
data := make(url.Values)
data.Add("name", "boychai")
data.Add("age", "18")
payload := data.Encode()
// 发送请求
r, err := http.Post("https://httpbin.org/post", "application/x-www-form-urlencoded", strings.NewReader(payload))
defer func() { _ = r.Body.Close() }()
if err != nil {
print(err)
}
//读取
content, err := ioutil.ReadAll(r.Body)
fmt.Println(string(content))
}
提交JSON数据
func main() {
u := struct {
Name string `json:"name"`
Age string `json:"age"`
}{
Name: "BoyChai",
Age: "18",
}
payload, _ := json.Marshal(u)
// 发送请求
r, err := http.Post("https://httpbin.org/post", "application/json", bytes.NewReader(payload))
defer func() { _ = r.Body.Close() }()
if err != nil {
print(err)
}
//读取
content, err := ioutil.ReadAll(r.Body)
fmt.Println(string(content))
}
DELETE请求
func main() {
// 创建请求对象
request, err := http.NewRequest(http.MethodDelete, "https://www.baidu.com", nil)
if err != nil {
panic(err)
}
// 发送请求
r, err := http.DefaultClient.Do(request)
defer func() { _ = r.Body.Close() }()
if err != nil {
panic(err)
}
// 读取
content, err := ioutil.ReadAll(r.Body)
fmt.Println(string(content))
}
PUT请求
func main() {
// 创建请求对象
request, err := http.NewRequest(http.MethodPut, "https://www.baidu.com", nil)
if err != nil {
panic(err)
}
// 发送请求
r, err := http.DefaultClient.Do(request)
defer func() { _ = r.Body.Close() }()
if err != nil {
panic(err)
}
// 读取
content, err := ioutil.ReadAll(r.Body)
fmt.Println(string(content))
}