Запрос ElasticSearch с помощью запросов PythonPython

Программы на Python
Ответить
Anonymous
 Запрос ElasticSearch с помощью запросов Python

Сообщение Anonymous »

, мне не удается получить результаты при попытке выполнить запрос ElasticSearch с помощью запросов Python. Вот мой код:

json_data = updateJson(sys.argv[1])

headers={'Accept': 'application/json', 'Content-type': 'application/json'}

elastic_url ='https://localhost:9200/logstash-kafka-w ... \*/_search'

query = json.dumps(json_data)

response = requests.get(elastic_url, data = query, auth=('xxx','xxx'), verify=False, headers = headers)

print response.text


Я всегда получаю следующий результат:

{"took":1,"timed_out":false,"_shards":{"total":0,"successful":0,"failed":0},"hits":{"total":0,"max_score":0.0,"hits":[]}}


Но если я попытаюсь использовать следующую команду CURL, я получу правильные результаты. В приведенном выше коде json_data считывает json из файла abc.json. Есть ли что-то неправильное в приведенном выше коде?

curl -X GET -k -u xxx:xxx https://localhost:9200/logstash-kafka-w ... \*/_search -d @temporaryRundeckReport.json


Вот мой метод updateJson():

def updateJson(fileName):
with open(fileName, 'r') as file:
json_data = file.read()
json_data = json_data.replace('%X-FORWARDED-HOST%', sys.argv[2]);
json_data = json_data.replace('%TIME%', sys.argv[3]);
json_data = json_data.replace('%INTERVAL%', sys.argv[4]);

with open('temporaryRundeckReport.json', 'w+') as file:
os.chmod('temporaryRundeckReport.json',0o777)
file.write(json_data)
return json_data


Подробнее здесь: https://stackoverflow.com/questions/440 ... n-requests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»