首页 > 解决方案 > 在 python 中使用任何 Web 请求库时,我的公司 PC 上的响应超时但不是我个人的?

问题描述

我是 python 新手,但我无法复制在我的个人电脑上运行的东西。

例如,这适用于我的个人电脑,但不适用于我的工作电脑:

import urllib.request
contents = urllib.request.urlopen("http://google.com").read()
print(contents)

在我的工作 PC 上执行 ipconfig 时,我看到:

Connection-Specific Suffix..............url
Link Local IPv6 Address.................Ipv6 code
IPv4 Address............................ip address1
Subnet Mask.............................ip address2
default gateway.........................ip address3

这里的词是不同的ip等。

我必须做些什么来通过这些 ip 等之一以特定方式引导我的网络请求吗?

(额外信息)

在同一台机器上的 VBA 中,xmlhttprequests 工作但 winhttp5.1 请求不工作,ping 命令和 pip 命令也在我的命令窗口中超时(此信息可能没有帮助)。

标签: pythonipurllibfirewall

解决方案


不幸的是,这是一个已知问题urllib等,不能协商公司 NTLM 代理。您可以通过在您的机器上使用ntlmaps.

然后,您的 python 程序可以通过您的代理进行对话,如下所示:

import urllib2

proxy_url = 'http://localproxy:localport/' 
proxy_url_https = 'https://localproxy:localport/' 
proxy_handler = urllib2.ProxyHandler({'http': proxy_url, 'https': proxy_url_https})
opener = urllib2.build_opener(proxy_handler, urllib2.HTTPHandler)
urllib2.install_opener(opener)

f = urllib2.urlopen('https://httpbin.org/ip')
myfile = f.read()
print myfile

推荐阅读