V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qtoq126
V2EX  ›  程序员

系统常驻梯子,程序中设置代理 ip 后无法成功爬取墙外资源,不设置却可以爬取成功,这是为什么?

  •  
  •   qtoq126 · 2022-03-18 23:01:44 +08:00 · 499 次点击
    这是一个创建于 740 天前的主题,其中的信息可能已经有所发展或是发生改变。

    根据教程在代码中设置代理(我的梯子 http 端口是 8001)

    proxies = {'https': 'https://127.0.0.1:8001', 'http': 'http://127.0.0.1:8001'}
    

    然后通过 requests 包进行网络请求

    print(requests.get(url=url, headers=headers, proxies=proxies).text) // 报错
    

    结果报错

    Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))
    

    但是取消设置代理后通过下面的方式又可以正常请求到资源

    print(requests.get(url=url, headers=headers).text) // 能获取到 html 资源
    

    这是什么原因呢? 如果我用 scrapy 框架的话,那应该是在中间件中配置代理还是不配置呢

    6 条回复    2022-03-26 12:14:41 +08:00
    qtoq126
        1
    qtoq126  
    OP
       2022-03-18 23:16:17 +08:00
    还发现一个问题就是如果程序中代理用 socks5 协议是可以返回数据的
    ```
    proxies = {'socks5': 'https://127.0.0.1:8001', 'socks5': 'http://127.0.0.1:8001'}
    ```
    但是用 http 的不行
    ysc3839
        2
    ysc3839  
       2022-03-18 23:32:48 +08:00 via Android   ❤️ 1
    你的代理服务器不支持用 https 协议连接吧?你写 https://代表用 https 协议连接代理服务器,这里应该写 http://
    这个错误信息大概是发送了 https 数据给了 http 服务器,然后被断开连接了。
    qtoq126
        3
    qtoq126  
    OP
       2022-03-19 10:08:36 +08:00
    @ysc3839 我的代理服务器里默认有三个端口,一个 Socks5 端口( 1081 ),一个 HTTP 端口( 8001 ),一个 PAC 服务器端口( 7777 )
    linuxyz
        4
    linuxyz  
       2022-03-19 19:51:04 +08:00
    `proxies = {'https': 'http://127.0.0.1:8001', 'http': 'http://127.0.0.1:8001'}`

    你把代理都改成 `http://127.0.0.1:8001`

    或者
    `proxy: 'socks5://127.0.0.1:1081'`

    or

    `proxy: 'http://127.0.0.1:8001'`
    qtoq126
        5
    qtoq126  
    OP
       2022-03-21 08:57:33 +08:00
    @linuxyz 这样的话如果我爬 https 的网站也是可以走代理的么
    linuxyz
        6
    linuxyz  
       2022-03-26 12:14:41 +08:00
    @qtoq126 看你的代码感觉是在配 Node.js 如果配了 proxy 之后,无论应该访问啥资源 http or https 都会尝试使用 proxy. 建议用 socks5 代理先。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3249 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:57 · PVG 21:57 · LAX 06:57 · JFK 09:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.