尽管代理设置正确,Splinter也不会访问URL

时间:2014-12-25 05:55:33

标签: proxy python-3.4 spyder splinter

我已使用以下代码向浏览器添加了代理设置:

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:相同的代码(没有代理设置)在具有直接互联网的系统上运行良好。

1 个答案:

答案 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")