конвертировать команду Splunk Api Curl в Python - PullRequest
0 голосов
/ 05 октября 2018

Я могу выполнить вызов API spunk в bash и получить SID, который затем использую для возврата запроса spunk.Первая часть этого ниже.Однако у меня возникают проблемы при изменении этого на запрос Python с использованием requests.Я получаю ошибку ssl CERTIFICATE_VERIFY_FAILED.

Команда Bash

data=$( curl -k -u username:password https://<splunk_endpoint>/services/search/jobs -d 'search=search earliest=-1m index=_internal')
echo $data

Выход Bash: 1538748227.228319_D07875A9-FDD6-46E8-BE77-EDF9BD9A73B1

Python-запросы

import requests

baseurl = 'https://<splunk_endpoint>/services/search/jobs'

headers = {
    "Content-Type": "application/json",
}

data = {
    'username': 'username',
    'password': 'password',
    "search": "search earliest=-1m index=_internal",
}

r = requests.get(baseurl, data=json.dumps(data), headers=headers)
print(r.json())

Я не совсем уверен, где поставить имя пользователя и пароль.Это относится к «данным»?в заголовках?где-нибудь еще?Я также не знаю, является ли мой -d разговорно со словарем данных правильно.Я думаю, что это так.

Любые мысли

1 Ответ

0 голосов
/ 09 октября 2018

Библиотека запросов проверяет сертификаты SSL для запросов HTTPS.Скорее всего, вы используете самоподписанный сертификат Splunk, который не совпадает.

Вы можете игнорировать эту проверку, добавив verify = False в get.

r = requests.get(baseurl, data=json.dumps(data), headers=headers, verify=False)

...