首页
统计
关于
Search
1
C语言:获取程序运行消耗的时间(gettimeofday)
362 阅读
2
QT-利用Qcamera查看USB摄像头参数(数据帧格式+分辨率)
250 阅读
3
嵌入式linux组播接收发送失败解决
247 阅读
4
一切从头开始
177 阅读
5
QT--QLineEdit 只能输入字母或数字,输入格式约束
149 阅读
编程语言
C/C++
PHP
Go
分享
随笔
Linux
OpenHarmony
登录
Search
标签搜索
C++
QT
Linux
Git
Go
C
程序执行时间
函数执行时间
GDAL
zeromq
github
Centos
代理
goKit
gitea
247.1
累计撰写
29
篇文章
累计收到
0
条评论
首页
栏目
编程语言
C/C++
PHP
Go
分享
随笔
Linux
OpenHarmony
页面
统计
关于
搜索到
1
篇与
的结果
2024-07-14
go语言使用代理访问网址--标准库
·http和https网页均可适用// 请求代理服务器 // http和https网页均适用 package main import ( "compress/gzip" "fmt" "io" "io/ioutil" "net/http" "net/url" "os" ) func main() { // 用户名密码认证(动态代理/独享代理) username := "username" password := "password" // 代理服务器 proxy_raw := "117.69.63.12:4787" proxy_str := fmt.Sprintf("http://%s:%s@%s", username, password, proxy_raw) proxy, err := url.Parse(proxy_str) // 目标网页 page_url := "https://www.xxxx.com/" // 请求目标网页 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)) } }
2024年07月14日
25 阅读
0 评论
0 点赞