2013-06-29 51 views
0

我想通過python訪問mongolab REST api。是通過pythons urllib2做到這一點的正確方法?我曾嘗試以下:Python mongolab REST api

import urllib2 

p = urllib2.urlopen("https://api.mongolab.com/api/1/databases/mydb/collections/mycollection?apiKey=XXXXXXXXXXXXXXXX") 

但是,這給了我一個錯誤:

urllib2.URLError: <urlopen error unknown url type: https> 

什麼是這樣做的正確方法是什麼?連接後,如何繼續將文檔發佈到我的收藏中?如果有人可以發佈代碼示例,我將非常感激。感謝所有的幫助!

編輯:

我已經用ssl支持重新編譯了python。如何使用mongolab REST API將文檔插入到集合中?這裏是代碼我有個大氣壓:

import urllib 
import urllib2 

url = "https://api.mongolab.com/api/1/databases/mydb/collections/mycollection?apiKey=XXXXXXXXXXXXXXXX" 
data = {"x" : "1"} 
request = urllib2.Request(url, data) 
p = urllib2.urlopen(request) 

現在,當我運行它,我得到的錯誤

urllib2.HTTPError: HTTP Error 415: Unsupported Media Type 

如何插入使用HTTP POST文件?謝謝!

回答

1

如果您的python版本不包含ssl支持,則會引發該錯誤。你使用什麼版本?你自己編譯了嗎?

也就是說,當你得到一個包含ssl的版本時,使用requests比urllib2容易得多,尤其是在發佈數據時。

+0

謝謝,我用ssl重新編譯了Python。儘管現在仍然堅持使用urllib2,但是如何使用mongolab REST API將新文檔發佈到我的集合中? – mathmonkey

+0

如何使用urllib2發佈:http://stackoverflow.com/questions/3238925/python-urllib-urllib2-post –