Python 2.5中的urllib或urllib2是否支持https? [英] Does urllib or urllib2 in Python 2.5 support https?

查看:205
本文介绍了Python 2.5中的urllib或urllib2是否支持https?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

提前感谢您的帮助。我很困惑,相同的代码适用于python 2.6但不适用于2.5。这是代码

Thanks for the help in advance. I am puzzled that the same code works for python 2.6 but not 2.5. Here is the code

import cgi, urllib, urlparse, urllib2
url='https://graph.facebook.com'

req=urllib2.Request(url=url)
p=urllib2.urlopen(req)
response = cgi.parse_qs(p.read())

这是我得到的例外

Traceback (most recent call last):
  File "t2.py", line 6, in <module>
    p=urllib2.urlopen(req)
  File "/home/userx/lib/python2.5/urllib2.py", line 124, in urlopen
    return _opener.open(url, data)
  File "/home/userx/lib/python2.5/urllib2.py", line 381, in open
    response = self._open(req, data)
  File "/home/userx/lib/python2.5/urllib2.py", line 404, in _open
    'unknown_open', req)
  File "/home/userx/lib/python2.5/urllib2.py", line 360, in _call_chain
    result = func(*args)
  File "/home/userx/lib/python2.5/urllib2.py", line 1140, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: https>

再次感谢您的帮助。

推荐答案

很可能你是没有ssl支持编译的2.5版本。

Most likely you're 2.5 version as been compiled without ssl support.

试试这个:

>>> import socket
>>> socket.ssl
<function ssl at 0xb7ce602c>

检查ssl是否存在(即,你没有捕获到AttributeError)

to check if ssl is present (ie, you don't catch an AttributeError)

这篇关于Python 2.5中的urllib或urllib2是否支持https?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆