相关疑难解决方法(0)

使用urllib2代理

我打开网址:

site = urllib2.urlopen('http://google.com')

我想要做的是用同样的方式连接我在某个地方告诉我:

site = urllib2.urlopen('http://google.com', proxies={'http':'127.0.0.1'})

但那也不起作用.

我知道urllib2有类似代理处理程序的东西,但我不记得那个功能.

python proxy urllib2

73
推荐指数
4
解决办法
12万
查看次数

Python - 如何通过 HTTP 代理使用(Urllib2 + SSL)处理 HTTPS 请求

我正在尝试使用 urllib2.ProxyHandler 测试代理连接。但是,在某些情况下,我可能会请求一个 HTTPS 网站(例如:https : //www.whatismyip.com/

如果请求 HTTPS 站点,Urllib2.urlopen() 将抛出 ERROR。所以我尝试使用一个辅助函数来重写 URLOPEN 方法。

这是辅助函数:

def urlopen(url, timeout):
    if hasattr(ssl, 'SSLContext'):
        SslContext = ssl.create_default_context()
        SslContext.check_hostname = False
        SslContext.verify_mode = ssl.CERT_NONE
        return urllib2.urlopen(url, timeout=timeout, context=SslContext)
    else:
        return urllib2.urlopen(url, timeout=timeout)
Run Code Online (Sandbox Code Playgroud)

这个基于答案的辅助函数

然后我使用:

urllib2.install_opener(
     urllib2.build_opener(
         urllib2.ProxyHandler({'http': '127.0.0.1:8080'})
     )
)
Run Code Online (Sandbox Code Playgroud)

为 urllib.opener 设置 http 代理。

理想情况下,当我通过使用请求网站时,它应该可以工作,urlopen('http://whatismyip.com', 30)并且应该通过 http 代理传递所有流量。

但是,即使是HTTP站点,urlopen()也会一直陷进去if hasattr(ssl, 'SSLContext')。此外,HTTPS 站点也没有使用 HTTP 代理。这会导致 HTTP 代理无效并且所有流量都通过未经代理的网络

我也尝试过这个答案将 HTTP 更改为 HTTPS,urllib2.ProxyHandler({'https': …

python proxy python-2.7

5
推荐指数
1
解决办法
6350
查看次数

IE和Chrome无法使用Selenium2 Python

我似乎无法通过Selenium 2的Python库打开谷歌浏览器或Internet Explorer.我使用的是Windows 7,64位.

我已完成以下步骤:

  • 安装python - 2.7.5
  • 安装硒2.33
  • 在环境变量 - 路径中包含C:\ Python27&C:\ Python27\Scripts
  • 下载32位(我正在运行64位但我找不到32位版本)windows Chrome驱动程序支持v27-30(我28岁)并将其放入C:\ Python27\Scripts
  • 下载支持IE9的64位IE驱动程序(我将IE10降级为IE9).我将驱动程序放入C:\ Python27\Scripts

每当我打字:

from selenium import webdriver
driver = webdriver.Ie()
Run Code Online (Sandbox Code Playgroud)

要么

from selenium import webdriver
driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)

进入Python shell,没有浏览器弹出,shell只会冻结几分钟然后输出错误信息.

IE错误消息:

selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the IEDriver'
Run Code Online (Sandbox Code Playgroud)

Chrome错误消息:

urllib2.HTTPError: HTTP Error 503: Service Unavailable
Run Code Online (Sandbox Code Playgroud)

它与firefox完美搭配.有趣的是,该过程(IEDriver和ChromeDriver)是根据TaskManager启动的,但窗口永远不会出现.

python firefox internet-explorer google-chrome selenium-webdriver

4
推荐指数
1
解决办法
3166
查看次数