专栏中心

EEPW首页 > 专栏 > 如何验证爬虫代理IP

如何验证爬虫代理IP

发布人:laical 时间:2020-09-02 来源:工程师 发布文章

随着互联网的发展,网络爬虫的进步,大家也越来越多的人了解到了HTTP代理。HTTP代理IP对于网络爬虫用户是不可缺少的一部分。虽然HTTP代理有很多种用法,但是还是有许多人不太清楚HTTP代理。网络爬虫都清楚,访问一个网站久了,IP会被限制。大家都是很都会想着靠HTTP代理去解决问题。这时候我们都会搞清楚这个代理IP是否可用,那如何去验证?这时候就需要搭建IP池去验证或者自己做一个网站链接去验证。

GO爬虫代码验证方式:

        package main        import (            "net/url"            "net/http"            "bytes"            "fmt"            "io/ioutil"        )        // 代理服务器(产品官网 www.16yun.cn)        const ProxyServer = "t.16yun.cn:31111"        type ProxyAuth struct {            Username string            Password string        }        func (p ProxyAuth) ProxyClient() http.Client {            var proxyURL *url.URL            if p.Username != ""&& p.Password!="" {                proxyURL, _ = url.Parse("http://" + p.Username + ":" + p.Password + "@" + ProxyServer)            }else{                proxyURL, _ = url.Parse("http://" + ProxyServer)            }            return http.Client{Transport: &http.Transport{Proxy:http.ProxyURL(proxyURL)}}        }        func main()  {            targetURI := "https://httpbin.org/ip"            // 初始化 proxy http client            client := ProxyAuth{"username",  "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)            if err != nil {                panic("failed to connect: " + err.Error())            } else {                bodyByte, err := ioutil.ReadAll(response.Body)                if err != 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)            }        }

通过以上方式可以验证自己的代理信息是否可用。正常有效的可用代理ip返回的应该是响应码200

如果是自己搭建IP池,自己做IP池管理的爬虫,需要做IP存活检测的,可以访问http://current.ip.16yun.cn:802这个网站,专门做IP存活检测。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

SAMSUNG KM29U128 16M字节 NAND Flash

英海军45型驱逐舰首舰“果敢”号下水

视频 2010-01-14

SC1102 电源芯片

英新一代攻击型核潜艇即将下水

视频 2010-01-14

旅行eSIM崛起:移动运营商需把握的机遇与变革

英特尔携手MAXHUB联合发布企业级AI PC

AI驱动pH监测解决方案实现更清洁的水资源

Microchip推出防务级高可靠性BR235和BR235D系列功率继电器

ASML发布2025年第一季度财报

SN74LS373, SN74LS374 常用的8d锁存器

英国海军在研主战装备

视频 2010-01-14

预测性维护解决方案

装甲车辆主动防护系统

视频 2010-01-14

泰克闪耀2025慕尼黑上海电子展,引领测试技术新变革

英披露在研电磁装甲系统

视频 2010-01-14

Vishay新款Gen 4.5 650 V E系列功率MOSFET具有卓越的性能

Melexis宣布中国战略新动向,强调供应链的本地化

国际视野 2025-04-17

SC1175 双DC-DC转换芯片

更多 培训课堂
更多 焦点
更多 视频

技术专区