在我的python应用程序中,我尝试打开https网址,但我得到:
File "C:\Python26\lib\urllib.py", line 215, in open_unknown
raise IOError, ('url error', 'unknown url type', type)
IOError: [Errno url error] unknown url type: 'https'
我的代码:
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
答案 0 :(得分:6)
要获得SSL支持,您需要使用OpenSSL编译Python。 例如,在ubuntu lucid下你必须安装模块libcurl4-openssl-dev然后重新构建Python。
答案 1 :(得分:3)
urllib
和Python 2.6有SSL支持,您的代码示例对我来说很好。可能你的Python是在没有SSL支持的情况下构建的?尝试重新安装Python 2.6(或更好,2.7)并使用python.org中的原始版本。
在Google App Engine上,尝试直接使用API:
from google.appengine.api import urlfetch
url = "https://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
doSomethingWithResult(result.content)
答案 2 :(得分:1)
请尝试使用urllib2。
我使用macports的python 2.6.6在OSX 10.6上遇到了与urllib相同的问题。切换到urllib2修复它。