在 go 语言中使用 net/http 包获取网页内容,步骤如下:创建 http 客户机创建 http 请求发送 http 请求并接收响应处理响应,包括检查状态码和读取正文
如何使用 Go 语言获取网页
在 Go 语言中,可以使用 net/http 包来发送 HTTP 请求并获取网页内容。
步骤:
1. 创建 HTTP 客户机
import (
"net/http"
)
client := http.Client{}
2. 创建 HTTP 请求
req, err := http.NewRequest("GET", url, nil)
if err != nil {
// 处理错误
}
3. 发送 HTTP 请求并接收响应
resp, err := client.Do(req)
if err != nil {
// 处理错误
}
4. 处理响应
// 检查响应状态代码
if resp.StatusCode != http.StatusOK {
// 处理错误
}
// 读取响应正文
body, err := io.ReadAll(resp.Body)
if err != nil {
// 处理错误
}
body 变量现在包含了网页的 HTML 内容。
示例:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 创建 HTTP 客户机
client := http.Client{}
// 创建 HTTP 请求
req, err := http.NewRequest("GET", "https://example.com", nil)
if err != nil {
panic(err)
}
// 发送 HTTP 请求并接收响应
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
// 读取响应正文
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
// 输出网页内容
fmt.Println(string(body))
}