使用go发送http
时间: 2023-01-28 16:15:03 浏览: 90
使用 Go 发送 HTTP 请求非常简单。你可以使用内置的 `net/http` 包来完成这件事。
首先,你需要创建一个 `http.Client` 类型的实例,然后使用它的 `Do` 方法来发送 HTTP 请求。
例如,下面是一个使用 Go 发送一个 GET 请求的示例代码:
```
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
// 创建一个 http.Client 类型的实例
client := &http.Client{}
// 创建一个 http.Request 类型的实例
request, err := http.NewRequest("GET", "https://www.example.com", nil)
if err != nil {
panic(err)
}
// 使用 http.Client 发送请求
response, err := client.Do(request)
if err != nil {
panic(err)
}
defer response.Body.Close()
// 读取响应的内容
content, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}
fmt.Println(string(content))
}
```
这里我们使用了 `http.NewRequest` 方法来创建一个 `http.Request` 类型的实例,然后使用 `http.Client.Do` 方法来发送这个请求。最后,我们使用 `ioutil.ReadAll` 方法来读取响应的内容。
如果你想发送一个 POST 请求,你可以使用 `http.NewRequest` 方法的第一个参数来设置请求方法为 "POST"。然后,你可以使用 `http.Request.Header.Set` 方法来设置请求头,使用 `http.Request.Body` 属性来设置请求体,然后再使用