我有一个RESTful API,我使用EC2实例上的Elasticsearch实现来公开内容的语料库。我可以通过运行查询搜索从我的终端(MacOSX的)以下:使用python向RESTful API发出请求
curl -XGET 'http://ES_search_demo.com/document/record/_search?pretty=true' -d '{
"query": {
"bool": {
"must": [
{
"text": {
"record.document": "SOME_JOURNAL"
}
},
{
"text": {
"record.articleTitle": "farmers"
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 50,
"sort": [],
"facets": {}
}'
如何打开上面到使用python/requests
或python/urllib2
一个API请求(不知道该在哪一个 - 已使用的urllib2,但听说请求更好......)?作为标题或其他方式传递吗?
我认为,它应该是:response = requests.post(url,data = data) –
“requests.get”不带“data”参数。它可以采用可选的“params”参数,它通常是一个携带查询字符串的字典。如果需要有效负载来获取数据(例如发布的示例),则需要使用“requests.post”。另外使用“json”库可以更轻松地解析json响应。 – HVS
它可以用python 3吗? –