我有一個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嗎? –