来自 Azure VM 的 SOCKS5 请求

Posted

技术标签:

【中文标题】来自 Azure VM 的 SOCKS5 请求【英文标题】:SOCKS5 request from Azure VM 【发布时间】:2018-03-15 13:42:35 【问题描述】:

我有一个 Python 3 脚本,它通过 SOCKS5 代理发出请求。我希望能够从 Azure VM 运行此脚本。但是当发出请求时,我收到以下错误:

Not supported proxy scheme SOCKS5

我在 Ubuntu 16.10 LTS 虚拟机上运行 Python 3.5.2 和请求 2.9.1。我还安装了 pysocks 以使请求与 SOCKS5 一起使用。

请求的代码如下:

server = 'socks5://u:p@proxy.server.com:1080'
proxies =  'https': server, 'all': None 
response = requests.get(request_url, proxies=proxies)

Te 脚本在本地运行良好。因此,Azure 似乎不允许我使用 SOCKS5 代理。

我还添加了端口 1080 作为到 VM 网络接口的允许出站连接。

如何配置我的虚拟机,使其允许来自 SOCKS5 的连接

【问题讨论】:

我相信这不是 Azure IaaS VM 的问题。据我所知,Azure VM 对 SOCKS5 没有限制。例如。您可以在 Azure Ubuntu VM 上运行基于 SOCKS5 的 SS。 【参考方案1】:

好吧,事实证明安装 pysocks 是不够的。

当你使用以下命令时:

pip3 install -U requests[socks]

它会安装所需的软件包以正常工作。

-U--upgrade 相同。这个标志也是必需的,没有它你仍然无法通过 SOCKS5 连接。

【讨论】:

以上是关于来自 Azure VM 的 SOCKS5 请求的主要内容,如果未能解决你的问题,请参考以下文章

使用 Laravel 在 Azure 中来自单个请求的多个重复 HTTP 请求/查询

Azure Function App HTTP 触发来自请求正文的 CosmosDB 输入查询

排查在 Azure 中新建 Windows VM 时遇到的部署问题

来自 Windows Azure 的请求被某个服务器阻止

如何在python的请求中禁用代理socks5?

关于SOCKS5中UDP请求的问题