首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

Python requests mac 版代理忽然挂不上了?

  •  
  •   JCZ2MkKb5S8ZX9pq · 7 天前 · 457 次点击
    # 以前用这个方法可以
    proxy = {"http":"socks5://127.0.0.1:1080","https":"socks5://127.0.0.1:1080"}
    
    # 现在 PC 版用这个可以
    proxy = {"http":"127.0.0.1:1080","https":"127.0.0.1:1080"}
    
    # MAC 版两种都不行(以前第一种行)
    

    不知道啥时候发生的这个情况,反正搞了半天没搞成。
    两个电脑装的包都一样的。requests[socks] 和 pysocks 都装了且升级了。
    代理用的 ss,PC 版 4.1.3.1,MAC 版 2.6.3,浏览器访问都正常通过。

    • PC。浏览器设置 http 或者 socks5 都能通过,python 里只能不加 socks5,加了通不过。
    • MAC。浏览器设置 http 通不过,socks5 可以通过。python 里都不行。

    是不是我还漏了啥了?

    第 1 条附言  ·  7 天前

    换了 ssx-ng 终于搞好了,有几点不同:

    • ssx-ng 一定要开启
      ssx-ng的manual模式,类似于win版ss的关闭(未启用系统/自动代理,但仍在运行)。
      之前mac版ssx的时候可以选关闭,不影响chrome访问,但ng关了好像就不行了。
    • ssx-ng也支持http代理,但http/socks/pac三个端口要区分。
      (win版好像http和socks5我都连1080也能连上)

    满足以上两点,PAC/Global/手动三个随意,跟之前一样指定proxy,requests就可以连上了。
    为了多平台统一,我用的http的1080端口。
    {"http":"127.0.0.1:1080","https":"127.0.0.1:1080"}

    测试方法是观察 ssx-ng的设置 和 系统/网络设置/代理 之间的关联。
    然后先通过safari走系统代理测试连通情况。

    6 回复  |  直到 2019-01-11 18:05:22 +08:00
        1
    JCZ2MkKb5S8ZX9pq   7 天前
    看了下,Mac 下用
    ```
    proxy = {"http":"socks5://127.0.0.1:1080","https":"socks5://127.0.0.1:1080"}
    ```
    ip.cn 可以看到 ip 已经是海外的了,连 baidu 也连得上( http/https 都可以)。
    但是连外网还是都连不上(浏览器内都可以)。
        2
    bantao   7 天前
    测试 windows py3.6 requests socks5 (无认证) 没问题,你那边报什么错
        3
    cdlixucd   7 天前
    下载一个软件不是很方便吗?非要搞配置文件
        4
    JCZ2MkKb5S8ZX9pq   7 天前
    @bantao 我 win 的 http 没问题,socks 不晓得为啥不行,mac 上一团问题,不知道是系统更新还是咋的。现在换了 ss-ng 在试。
        5
    youthfire   7 天前
    具体不理解,以前作 gmail 发邮件的程序时我是这样写的,给你参考,python3

    from httplib2 import socks
    import socket

    socket.socket = socks.socksocket
    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",1080)
        6
    JCZ2MkKb5S8ZX9pq   7 天前
    @youthfire 嗯 实在不行只能用其它库试了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2360 人在线   最高记录 4236   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 02:59 · PVG 10:59 · LAX 18:59 · JFK 21:59
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1