golang http post请求
时间: 2023-05-31 12:01:21 浏览: 121
下面是一个简单的示例:
```go
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
url := "http://httpbin.org/post"
data := []byte(`{"name":"John","age":30}`)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(data))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request:", err)
return
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
fmt.Println("Response Body:")
buf := new(bytes.Buffer)
buf.ReadFrom(resp.Body)
fmt.Println(buf.String())
}
```
在这个示例中,我们首先定义了一个URL和一个JSON数据。然后,我们创建了一个HTTP请求,并设置了请求方法、URL和请求体。我们还设置了请求头,以指定请求体的类型。接下来,我们创建了一个HTTP客户端,并使用它来发送请求。最后,我们解析响应并打印出来。
要运行此示例,请将代码复制到一个名为“main.go”的文件中,然后在终端中导航到该文件所在的目录,并运行以下命令:
```
go run main.go
```
这将打印出HTTP响应的状态和内容。
阅读全文