我正在尝试使用urllib2
通过代理;然而,在尝试了使用传递我的验证详细信息的几乎所有变体之后urllib2
,我要么收到一个永远挂起且不返回任何内容的请求,要么收到407 Errors
。我可以使用我的浏览器连接到网络,该浏览器连接到 prox-pac 并相应地重定向;但是,我似乎无法通过命令行执行任何操作curl
, wget
, urllib2
等等,即使我使用 prox-pac 重定向到的代理。我尝试使用以下命令将代理设置为 pac 文件中的所有代理urllib2
,这些都不起作用。
我当前的脚本如下所示:
import urllib2 as url
proxy = url.ProxyHandler({'http': 'username:[email protected] /cdn-cgi/l/email-protection:8080'})
auth = url.HTTPBasicAuthHandler()
opener = url.build_opener(proxy, auth, url.HTTPHandler)
url.install_opener(opener)
url.urlopen("http://www.google.com/")
哪个抛出HTTP Error 407: Proxy Authentication Required
我也尝试过:
import urllib2 as url
handlePass = url.HTTPPasswordMgrWithDefaultRealm()
handlePass.add_password(None, "http://my.proxy:8080", "username", "password")
auth_handler = url.HTTPBasicAuthHandler(handlePass)
opener = url.build_opener(auth_handler)
url.install_opener(opener)
url.urlopen("http://www.google.com")
挂起来就像curl
or wget
超时。
我需要做什么来诊断问题?我怎么可能可以通过浏览器进行连接,但不能使用看似相同的代理和凭据从同一台计算机上的命令行进行连接?
会不会和路由器有关系?如果是的话,如何区分浏览器HTTP
请求和命令行HTTP
要求?