我正在尝试访问具有登录名的 HTTPS 网页。无论我做什么都无法访问它。这是我在下面尝试的代码。
import urllib.request
from bs4 import BeautifulSoup
proxy = urllib.request.ProxyHandler({'http':'http://proxyName:proxyNumber'})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)
response = urllib.request.urlopen('https://salesforce.com')
datum = response.read()
#.decode("UTF-8")
#response.close()
print(datum)
这是错误
File S:\...py" line 8 in module
reponse = urllib.request.urlopen("https://salesforce.com)
urllib.error.URLError:(urlopen error [WinError 10061] No connection could be made because the target machine actively refused it)
请帮忙
这是另一次尝试,出现新错误。我感觉我已经很接近了!
import urllib.request
proxies = {'https': 'http://proxyName:ProxyNumber'}
opener = urllib.request.build_opener(proxies)
#urllib.request.get("https://login.salesforce.com/", proxies=proxies)
urllib.request.install_opener(opener)
response = urllib.request.urlopen("https://login.salesforce.com/", proxies=proxies)
这是错误消息:
File S:/...py, line 6 in (module)
urllib.request.build_opener(proxies)
TypeError:expected BaseHandler instance, got (class 'dict)
最佳答案
如果您可以使用第三方模块,这里有一个使用请求模块的简单解决方案。
import requests
proxies = {
"http": "http://proxyName:proxyNumber"
}
requests.get("https://salesforce.com", proxies=proxies, auth=('user', 'pass'))
改编自http://docs.python-requests.org/en/latest/user/advanced/#proxies
关于python - 如何使用Python 3.4通过代理访问HTTPS网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29524307/