V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
dididaren
V2EX  ›  Python

奇葩了, requests 必须通过 charles 才能访问网络,求救

  •  
  •   dididaren · 2019-07-19 18:00:37 +08:00 · 4173 次点击
    这是一个创建于 1950 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前 python 使用 requests 访问网站,抓包一直都挺正常的

    但现在却不行了

    要想使用 requests,必须走 charles 的代理才行

    如果 关掉 charles 或者 取消勾选 charles proxy 设置项里的 macOS proxy,requests.get/post 就陷入假死状态。

    卸载了 charles,删除了所有的 charles 配置 ,重置了无线网络,开关机 N 次 都无法解决。

    推测是 charles 接管了 mac 的 sockes 代理? 现在毫无头绪, 请教大佬。
    第 1 条附言  ·  2019-07-19 23:22:50 +08:00
    [解决了,华为路由器的问题]

    家里有 2 台华为路由器,之前是有怀疑可能是无线网在搞贵,但是两个路由器都试过,问题依旧,所以就排除了路由器的问题

    刚才翻箱底找到了一台旧的华硕路由器,直接连接光猫,然后一切都正常了

    接着测试.....

    用电脑连接华硕路由器, 华硕路由连接华为路由器,华为路由器连接光猫,一切正常。

    用电脑连接华为路由器,华为路由器连接光猫,问题又出现了。

    两台华为路由器同一型号,同一版本......坑。
    24 条回复    2019-07-20 19:14:47 +08:00
    nyanyh
        1
    nyanyh  
       2019-07-19 18:03:13 +08:00
    终端里 http_proxy 没改?
    misaka19000
        2
    misaka19000  
       2019-07-19 18:04:48 +08:00
    wireshark 抓包分析
    dididaren
        3
    dididaren  
    OP
       2019-07-19 18:18:31 +08:00
    @nyanyh 配置文件里没找到有更改的痕迹,终端平时都是直接复制这两条语句来使用 socks 代理 export http_proxy=socks5://127.0.0.1:1080
    export https_proxy=socks5://127.0.0.1:1080 但现在也不行了,export 后,使用 curl ip.sg 命令后,报错:curl: (7) Failed to receive SOCKS5 connect request ack.
    dididaren
        4
    dididaren  
    OP
       2019-07-19 18:20:42 +08:00
    @misaka19000 没用过 wireshark,我研究一下
    ik
        5
    ik  
       2019-07-19 18:31:39 +08:00 via iPhone
    unset http_proxy

    unset https_proxy
    mixure
        6
    mixure  
       2019-07-19 18:34:15 +08:00
    去 Activity Monitor 看下;
    如果不卸载,重启是不管用的,这个之前我也遇到过;卸载了就不知道了
    netstu
        7
    netstu  
       2019-07-19 18:39:34 +08:00
    因为你设置了代理,你在哪设置的取消就可以了
    zhengjian
        8
    zhengjian  
       2019-07-19 18:40:17 +08:00
    requests 的参数里写了 proxies 吗
    Northxw
        9
    Northxw  
       2019-07-19 18:44:16 +08:00
    首先,你 Chrome 访问 baidu.com, 如果可以,那说明不是 Charles 接管了 PC 的网络出口;
    然后,你改用 urllib 或者 requests_html 访问网页,如果能访问到,更说明不是 Charles 的问题;
    最后,信任证书添加了吗? 你再去看一下。

    比较菜,不知道说的对不对
    Huelse
        10
    Huelse  
       2019-07-19 18:45:53 +08:00
    如果是 win10,检查设置-网络-代理 里面的设置,
    如果是 mac,可能也有类似的网络设置
    chenqh
        11
    chenqh  
       2019-07-19 18:46:38 +08:00 via Android
    http_proxy 吧
    dididaren
        12
    dididaren  
    OP
       2019-07-19 19:03:37 +08:00
    @ik unset 了,没有效
    ik
        13
    ik  
       2019-07-19 19:05:47 +08:00 via iPhone
    @dididaren curl -v ip.sg 结果看看
    dididaren
        14
    dididaren  
    OP
       2019-07-19 19:28:52 +08:00
    @ik
    ~ unset http_proxy
    ➜ ~ unset https_proxy
    ➜ ~ curl -v ip 点 sg
    * Rebuilt URL to: ip 点 sg/
    * Could not resolve host: ip 点 sg
    * Closing connection 0
    curl: (6) Could not resolve host: ip 点 sg
    dididaren
        15
    dididaren  
    OP
       2019-07-19 19:29:31 +08:00
    @ik 回复的时候系统提示不能包含外链,所有.用中文代替了
    dididaren
        16
    dididaren  
    OP
       2019-07-19 19:30:13 +08:00
    @ik
    ➜ ~ export http_proxy=socks5://127.0.0.1:1080
    ➜ ~ curl -v ip 点 sg
    * Rebuilt URL to: ip 点 sg/
    * Trying 127.0.0.1...
    * TCP_NODELAY set
    * SOCKS5 communication to ip 点 sg:80
    * Could not resolve host: ip 点 sg
    * Closing connection 0
    curl: (6) Could not resolve host: ip 点 sg
    dididaren
        17
    dididaren  
    OP
       2019-07-19 19:31:34 +08:00
    @mixure 卸载了,能搜索 到店 charles 文件也删除了,重装后也没有以前的配置的,但问题还是一样
    dididaren
        18
    dididaren  
    OP
       2019-07-19 19:32:49 +08:00
    @Northxw 证书没有问题,抓包也正常,问题就是 要使用必须要开启抓包功能,一旦关闭 charles,或者勾掉 代理 mac 的流量,就没办法使用
    misaka19000
        19
    misaka19000  
       2019-07-19 19:33:30 +08:00
    你这个访问的是什么域名啊?换一下百度的域名试一试能访问吗
    yutou527
        20
    yutou527  
       2019-07-19 19:38:52 +08:00 via Android
    看系统设置 网络 代理
    jaskle
        21
    jaskle  
       2019-07-20 08:15:10 +08:00 via Android
    想黑华为!作为狗子的我第一个不愿意!
    ik
        22
    ik  
       2019-07-20 11:05:32 +08:00 via iPhone   ❤️ 1
    解决了就好
    chloey027
        23
    chloey027  
       2019-07-20 17:30:36 +08:00
    同 10 楼,20 楼,原先我也只能用代理爬,win10, 系统那里代理设置关闭,然后刷新了下 dns, 重启网络设置,ok,注意是否 requests 设置了默认代理
    brobird
        24
    brobird  
       2019-07-20 19:14:47 +08:00
    你是不是路由器上开了什么“安全防护”之类的功能……关掉应该就好了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5349 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 08:36 · PVG 16:36 · LAX 00:36 · JFK 03:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.