package main
import (
"fmt"
"github.com/gogf/gf/net/ghttp"
)
func main() {
// 创建一个 HTTP 客户端
client := ghttp.NewClient()
// 设置代理
client.SetProxy("http://proxy.example.com:8080")
// 发送 GET 请求
resp, err := client.Get("http://httpbin.org/get")
if err != nil {
fmt.Println("GET 请求发生错误:", err)
} else {
defer resp.Close()
fmt.Println("GET 响应状态码:", resp.StatusCode)
fmt.Println("GET 响应内容:", resp.ReadAllString())
}
// 发送 POST 请求
resp, err = client.Post("http://httpbin.org/post", ghttp.Params{
"key1": "value1",
"key2": "value2",
})
if err != nil {
fmt.Println("POST 请求发生错误:", err)
} else {
defer resp.Close()
fmt.Println("POST 响应状态码:", resp.StatusCode)
fmt.Println("POST 响应内容:", resp.ReadAllString())
}
}
在这个例子中,我们通过 client.SetProxy("http://proxy.example.com:8080") 方法设置了代理,然后发送了一个 GET 请求和一个 POST 请求。这样,这两个请求将通过指定的代理服务器进行传输。
请根据你实际的代理设置情况,替换 http://proxy.example.com:8080 为你的代理服务器地址和端口。
需要注意的是,如果代理需要进行身份验证,你可能还需要设置代理的用户名和密码。可以通过 client.SetProxyAuth 方法来设置代理的用户名和密码。
// 设置代理并进行身份验证
client.SetProxy("http://proxy.example.com:8080").
SetProxyAuth("your_username", "your_password")
这只是 ghttp.Client 中设置代理的一个简单示例。在实际应用中,你可能还需要处理更多的请求和响应逻辑,例如设置其他请求参数、处理服务器的响应等。确保查阅 GoFrame 文档以获取更多详细信息和示例。
转载请注明出处:http://www.zyzy.cn/article/detail/7849/GoFrame