golang语言爬虫代理代码示例

栏目: Go · 发布时间: 6年前

packagemainimport("net/url""net/http""bytes""fmt""io/ioutil""math/rand""time""strconv")constProxyServer="t.16yun.cn:31111"typeProxyAuthstruct{UsernamestringPasswordstring}func(pProxyAuth)ProxyClient()http.Client{ifp.Username!=nilandp.Password!=nil{proxyURL,_:=url.Parse("http://"+p.Username+":"+p.Password+"@"+ProxyServer)}else{proxyURL,_:=url.Parse("http://"+ProxyServer)}returnhttp.Client{Transport:&http.Transport{Proxy:http.ProxyURL(proxyURL)}}}funcmain(){targetURI:="http://httpbin.org/ip"// 初始化 proxy http clientclient:=ProxyAuth{License:"username",SecretKey:"password"}.ProxyClient()request,_:=http.NewRequest("GET",targetURI,bytes.NewBuffer([]byte(``)))// 设置Proxy-Tunnel// rand.Seed(time.Now().UnixNano())// tunnel := rand.Intn(10000)// request.Header.Set("Proxy-Tunnel", strconv.Itoa(tunnel) )response,err:=client.Do(request)iferr!=nil{panic("failed to connect: "+err.Error())}else{bodyByte,err:=ioutil.ReadAll(response.Body)iferr!=nil{fmt.Println("读取 Body 时出错",err)return}response.Body.Close()body:=string(bodyByte)fmt.Println("Response Status:",response.Status)fmt.Println("Response Header:",response.Header)fmt.Println("Response Body:\n",body)}}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UNIX系统编程: 通信、并发与线程

UNIX系统编程: 通信、并发与线程

【美】Kay Robbins、Steve Robbins / 师蓉 / 电子工业出版社 / 2018-5 / 198

《UNIX系统编程: 通信、并发与线程》是一本基于最新UNIX标准的完备的参考书,对UNIX编程的要点进行了清晰易懂的介绍,从一些用于说明如何使用系统调用的短小代码段开始,逐渐过渡到能帮助读者扩展自己技能水平的实际项目中。《UNIX系统编程: 通信、并发与线程》中对通信、并发和线程问题进行了深入探讨,对复杂的概念(如信号和并发)进行了全面且清晰的解释,还覆盖了与文件、信号、信号量、POSIX线程和......一起来看看 《UNIX系统编程: 通信、并发与线程》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具