我已使用以下代码向浏览器添加了代理设置:
proxyIP = 'some IP'
proxyPort = some_port
proxy_settings = {'network.proxy.type': 1,
'network.proxy.http': proxyIP,
'network.proxy.http_port': proxyPort,
'network.proxy.ssl': proxyIP,
'network.proxy.ssl_port':proxyPort,
'network.proxy.socks': proxyIP,
'network.proxy.socks_port':proxyPort,
'network.proxy.ftp': proxyIP,
'network.proxy.ftp_port':proxyPort
}
with Browser('firefox',profile_preferences=proxy_settings) as browser:
Firefox浏览器打开&当我检查代理设置时,它们加载了正确的值。但它无法加载browser.visit('https://www.google.com/')
的网址
它抛出错误:
TimeoutError:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败
我甚至在proxy_settings中添加了'accept_untrusted_certs': True
,这会有所帮助。但无济于事。
如果我在创建的浏览器实例中手动输入网址,则会成功访问该网页。
Browser(profile='profile_path')
,但没有成功。希望......
P.S:相同的代码(没有代理设置)在具有直接互联网的系统上运行良好。
答案 0 :(得分:0)
您可以使用 selenium :
from selenium import webdriver
from selenium.webdriver.common.proxy import *
myProxy = "<you_proxy_ip>:<your_proxy_port>"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy': '' # set this value as desired
})
driver = webdriver.Firefox(proxy=proxy)
driver.get("http://www.google.com")