首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python SOCKS5代理客户端HTTPS

Python SOCKS5代理客户端HTTPS
EN

Stack Overflow用户
提问于 2017-07-03 11:13:22
回答 1查看 8.7K关注 0票数 1

我试图通过HTTPS通过SOCKS5代理服务器发出请求,但它失败或返回空字符串。我正在使用PySocks库。

这是我的例子

代码语言:javascript
复制
    WEB_SITE_PROXY_CHECK_URL = "whatismyipaddress.com/"
    REQUEST_SCHEMA = "https://"

    host_url = REQUEST_SCHEMA + WEB_SITE_PROXY_CHECK_URL
    socket.connect((host_url, 443))
    request = "GET / HTTP/1.1\nHost: " + host_url + "\nUser-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11\n\n"
    socket.send(request)
    response = socket.recv(4096)
    print response

但是它不起作用,它打印一个空字符串响应。

有没有任何方法可以通过socks5代理发出HTTPS请求?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 16:46:01

截至2016-04-29发布的请求版本2.10.0,请求支持SOCKS。 它需要PySocks,它可以与一起安装。

代码语言:javascript
复制
 import requests

 host_url = 'https://example.com'
 #Fill in your own proxies' details
 proxies={http:'socks5://user:pass@host:port',
          https:'socks5://user:pass@host:port'}
 #define headers if you will
 headers={}

 response = requests.get(host_url, headers=headers, proxies=proxies)

注意,当使用SOCKS代理时,请求socks将使用完整的URL (例如,GET example.com HTTP/1.1而不是GET / HTTP/1.1)发出HTTP请求,这种行为可能会导致问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44884133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档