golang如何用http.NewRequest创建get和post请求
在Go语言中,可以使用net/http
包中的NewRequest
函数来创建GET和POST请求。以下是创建GET和POST请求的示例代码:
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
// 创建GET请求
getURL := "http://example.com/api"
getRequest, err := http.NewRequest("GET", getURL, nil)
if err != nil {
fmt.Println("Error creating GET request:", err)
return
}
// 创建POST请求
postURL := "http://example.com/api"
postData := bytes.NewBufferString("key1=value1&key2=value2")
postRequest, err := http.NewRequest("POST", postURL, postData)
if err != nil {
fmt.Println("Error creating POST request:", err)
return
}
postRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded")
// 使用http.DefaultClient发送请求
resp, err := http.DefaultClient.Do(getRequest)
if err != nil {
fmt.Println("Error sending GET request:", err)
return
}
defer resp.Body.Close()
resp, err = http.DefaultClient.Do(postRequest)
if err != nil {
fmt.Println("Error sending POST request:", err)
return
}
defer resp.Body.Close()
}
在这个示例中,首先为GET请求创建了一个http.Request
实例,然后为POST请求创建了一个实例,并设置了请求体和内容类型头。然后使用http.DefaultClient
发送这些请求。记得检查err
来处理可能发生的错误,并在完成请求后关闭响应体。
评论已关闭