开发者

urllib.py doesn't work with https?

开发者 https://www.devze.com 2023-01-16 23:06 出处:网络
In my python app I try to open a https url, but I get: File \"C:\\Python26\\lib\\urllib.py\", line 215, in open_unknown

In my python app I try to open a https url, but I get:

 File "C:\Python26\lib\urllib.py", line 215, in open_unknown
    raise IOError, ('url error', 'unkno开发者_运维技巧wn url type', type)
IOError: [Errno url error] unknown url type: 'https'

my code:

import urllib
def generate_embedded_doc(doc_id):
    url = "https://docs.google.com/document/ub?id=" + doc_id + "&embedded=true"
    src = urllib.urlopen(url).read()
    ...
    return src


To have SSL support you need to compile Python with OpenSSL. For example under ubuntu lucid you must install the module libcurl4-openssl-dev then re-build Python.


urllib and Python 2.6 have SSL support and your code example works fine for me. Probably your Python is built without SSL support? Try to reinstall Python 2.6 (or better, 2.7) and use the original build from python.org.

On Google App Engine, try to use the API directly:

from google.appengine.api import urlfetch

url = "https://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
  doSomethingWithResult(result.content)


Try using urllib2 instead.

I had the same issue with urllib on OSX 10.6 using python 2.6.6 from macports. Switching to urllib2 fixed it.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号