0

我正在尝试通过 python 访问 mongolab REST api。是通过 pythons urllib2 执行此操作的正确方法吗?我尝试了以下方法:

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 将文档插入到集合中?这是我有atm的代码:

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 插入文档?谢谢!

4

1 回答 1

1

如果您的 python 版本不包含 ssl 支持,则会引发该错误。你用的是什么版本?你自己编译的吗?

也就是说,当您获得包含 ssl 的版本时,使用requests比 urllib2 容易得多,尤其是在 POST 数据时。

于 2013-06-29T15:59:18.353 回答