golang 发送post请求
时间: 2023-09-25 09:11:31 浏览: 97
在Golang中,可以使用标准库中的net/http包来发送HTTP请求,包括POST请求。下面是一个使用net/http包发送POST请求的示例代码:
```
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
url := "http://example.com/api"
data := []byte(`{"key": "value"}`)
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 code:", resp.StatusCode)
}
```
在这个示例中,我们首先定义了需要发送POST请求的URL和数据。然后,我们使用http.NewRequest()函数创建了一个请求对象,并设置了请求方法、URL和请求数据。接着,我们设置了请求头部信息,这里设置了Content-Type为application/json。然后,我们创建了一个HTTP客户端对象并发送请求,最后关闭响应体并打印响应状态码。
需要注意的是,在实际使用中,我们还需要对请求和响应进行错误处理,以及处理响应体中的数据。同时,我们也可以使用其他第三方库来简化HTTP请求的发送。
阅读全文