1 Star 0 Fork 1

kuaidaili / golang-sdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
net_username_password.go 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
xuanyuwu 提交于 2022-03-04 17:49 . fix
// 请求隧道服务器
// http和https网页均适用
package main
import (
"compress/gzip"
"fmt"
"io"
"io/ioutil"
"net/http"
"net/url"
"os"
)
func main() {
// 用户名密码, 若已添加白名单则不需要添加
username := "username"
password := "password"
// 隧道服务器
proxy_raw := "tpsXXX.kdlapi.com:15818"
proxy_str := fmt.Sprintf("http://%s:%s@%s", username, password, proxy_raw)
proxy, err := url.Parse(proxy_str)
// 目标网页
page_url := "http://dev.kdlapi.com/testproxy"
// 请求目标网页
client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxy)}}
req, _ := http.NewRequest("GET", page_url, nil)
req.Header.Add("Accept-Encoding", "gzip") //使用gzip压缩传输数据让访问更快
res, err := client.Do(req)
if err != nil {
// 请求发生异常
fmt.Println(err.Error())
} else {
defer res.Body.Close() //保证最后关闭Body
fmt.Println("status code:", res.StatusCode) // 获取状态码
// 有gzip压缩时,需要解压缩读取返回内容
if res.Header.Get("Content-Encoding") == "gzip" {
reader, _ := gzip.NewReader(res.Body) // gzip解压缩
defer reader.Close()
io.Copy(os.Stdout, reader)
os.Exit(0) // 正常退出
}
// 无gzip压缩, 读取返回内容
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
}
Go
1
https://gitee.com/kuaidaili/golang-sdk.git
git@gitee.com:kuaidaili/golang-sdk.git
kuaidaili
golang-sdk
golang-sdk
master

搜索帮助