go语言中怎么使用http代理。
以下代码主要围绕第一次接触http代理ip的go新手来写(步骤注释清晰)。
直接把下面示例代码中的http代理api,替换成你后台生成的代理api链接,就可以跑起来了。
以下是一个示例代码,只是一个基础的演示,具体的代码还是要根据你业务的实际情况去写的。
示例代码中的http代理ip,我使用的是华益云的http代理api,注册就能白嫖1万个高匿爬虫ip,有效期是一年,对于调试代码来说这个时间是非常的友好。
示例代码demo中同款http代理api-点我免费领取10000个高匿ip
打开代理api,获取里面的ip,使用ip访问目标网站,其实代码中就是执行这个过程而已,然后加了几个错误判断有助于代码的稳定运行。(步骤注释清晰)
package mainimport ( errors fmt io/ioutil log net/http net/url strings time)func main() { // 发送给服务器的标识 useragent := mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/532.36 (khtml, like gecko) chrome/97.0.4692.99 safari/537.36 // 代理api(这里我推荐使用www.9vps.com华益云的http代理api,注册就送1万ip) proxyurl := http://http.9vps.com/getip.asp?username=166xxxx6597&pwd=xxxxbaa59ce237dff65134984b9cxxxx&geshi=1&fenge=1&fengefu=&contenttype=1&getnum=20&setcity=&operate=all& outputproxy, _ := getproxy(proxyurl, useragent) if len(outputproxy) == 0 { // 没有获取到代理 return } // 目标请求网站 url := https://www.qq.com/ var out string = for i := 0; i -1 { return outputproxy, errors.new(proxyips) } outputproxy = strings.split(proxyips, \r\n) fmt.printf(总共获取了%d个代理\n, len(outputproxy)) return outputproxy, nil}func requestget(requrl string, useragent string, proxyaddr string) (string, error) { var client http.client if proxyaddr != { // 有代理的情况 proxy, err := url.parse(proxyaddr) if err != nil { return , err } client = http.client{ timeout: 5 * time.second, // 5秒最大超时 transport: &http.transport{proxy: http.proxyurl(proxy)}, } } else { client = http.client{ timeout: 5 * time.second, // 5秒最大超时 } } // 创建新的request对象 req, err := http.newrequest(get, requrl, nil) if err != nil { return , err } // 设置请求头 req.header.set(user-agent, useragent) // 向服务器发送请求 resp, err := client.do(req) if err != nil { return , err } // 读取响应内容 body, err := ioutil.readall(resp.body) if err != nil { return , err } // 将响应内容转为string类型 response := string(body) return response, nil}
纸张吸水量测定仪的介绍
基于DSP技术实现专用无线数传系统的设计与应用分析
多功能串口服务器设计方案
34.99万元起!“CHN”三巨头造车成果落地,阿维塔11技术亮点汇总
FPGA界的老大哥说 异构多核处理器的时代要来了
go语言中怎么使用HTTP代理
9个开关电源电路设计实例分析
消息称苹果将在今年秋季发布会上推出四款新iPhone
LTC4067满足电压敏感型电池供电型器件的需求设计
上海打造“3D虚拟AI家园”
CDMA2000 EV-DO推动运营商数据ARPU值提升
全“芯”瑞萨,用“芯”连接 | 瑞萨电子MCU全国研讨会开启报名!
智慧城市的爆发临界点在哪里
高压电容器的主要作用及优点是什么
机智云CEO黄灼:雾计算重新定义物联网计算的边界
Allegro推霍尔效应电流传感器ACS37610
智能语音的发展过程历史详细概述
数字化可显著提升各行各业及整个经济的生产力
什么品牌的充电宝质量比较好,充电宝口碑最好的牌子
未来柔性OLED面板发展现状 封装和耐弯折可靠性仍是重点问题