Я хочу отправить запрос в python. У меня есть рабочий пример для этого в C#:
request = (HttpWebRequest)WebRequest.Create("https://...someurl");
var data = Encoding.UTF8.GetBytes(jsonDownTime);
request.KeepAlive = true;
request.Method = "PUT";
request.Accept = "application/json";
request.PreAuthenticate = true;
request.Headers.Add("Authorization", "Bearer " + access_token);
request.ContentType = "application/json";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
Я попытался в python следующим образом:
def sendVibration(Acceleration , access_token):
url = "someurl"
session = requests.Session()
session.verify = True
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + access_token
}
response = session.put(url, headers=headers, data=json.dumps(Acceleration))
Я получаю следующее сообщение об ошибке от ответ:
[{'logref': 'a5ca8e9e32f1485798b892f4011f5056', 'message': 'Ошибка шлюза MindSphere: не удалось выполнить POST на TokenExchange! Причина: 400 ноль. Секрет клиента в заявке недействителен. Пожалуйста, обратитесь в службу поддержки, чтобы решить проблему. ',' StackTrace ':' '}]
Сравнивая два запроса в fiddler, результаты совпадают. Я думаю, что проблема в том, что я не отправляю данные правильно. Вероятно, я должен отправить их с потоками ..
Также я попытался поместить запрос в "сеанс", который должен быть равен "request.KeepAlive", но он ничего не делает.
Заранее спасибо!