找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3688|回复: 0

[求助] 代理IP伪装失败,特别奇怪,求帮助

0

主题

0

帖子

0

积分

贫民

积分
0
易水寒 发表于 2019-5-7 21:22:35 | 显示全部楼层 |阅读模式
1威望
本帖最后由 易水寒 于 2019-5-7 21:40 编辑

问题描述:
自己做爬虫,为了不被反爬禁掉,想用代理ip池来更换IP。通过代理IP去访问一个“会返回我ip地址的网站”来查看代理ip是否启用成功

但是无论怎么替换代理,或更改协议,调试的时候,request总是给我返回我自己的IP(联通运营商给我分配的那个公网ip),而不是我启用的那个代理IP。

下面把我的代码贴出来,希望大神能帮我解决一下,卡在这里好久了。测试发现user-agent是设置成功了,但是ip始终都不行。


# 验证代理是否可用
def verify_one_proxy(self, proxy, protocol):
    proxies = {protocol: proxy}  # 例如 {"http": "14.146.95.45:9797"}  {'https': 'http://111.177.181.249:9999'}
    try:
       verify_adr = 'http://2019.ip138.com/ic.asp'
        respone = requests.get(verify_adr, proxies=proxies, timeout=2)._content.decode("gbk")
        verify_adr1 = 'http://httpbin.org/get'
        respone1 = requests.get(verify_adr1, proxies=proxies, timeout=2)._content.decode("utf8")

        # 创建下面用urllib.request来测试一下行不行
        # 创建ProxyHandler
        proxy_support = request.ProxyHandler(proxies)
        # 创建Opener
        opener = request.build_opener(proxy_support)
        # 添加User Angent
        opener.addheaders = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 '
                                           '(KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36')]
        # 安装OPener
        request.install_opener(opener)
        # 使用自己安装好的Opener
        respone2 = request.urlopen(verify_adr1)
        # 读取相应信息并解码
        html = respone2.read().decode("utf-8")
        return True

    except Exception as e:
        print('代理IP %s不可用!,Reason:%s' % (proxy, e.args[1]))



下面贴几个调试时候的截图:
这个代理ip是我从西刺代理拿下来的
深度截图_选择区域_20190507211452.png

下面截图这个可以看到resp**e里面看到了我的ip,还是我自己的,代理失败
深度截图_选择区域_20190507211751.png

再换个别的库来请求,还是一样
深度截图_选择区域_20190507211911.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表