Я новичок в http-запросах и пытаюсь автоматизировать некоторые работы. Но я не могу получить требуемый результат. Я просмотрел много сообщений и документации модуля запросов python, но результат не изменился.Модуль запроса Python дает ошибку 400 (неверный запрос) для POST
Код я написал
def installFont():
print "Installing font"
urlToHit = "some http address"
header_ = { "UserID": "00000", "PortalName": "EDC", "ModifyBy" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "Content-Type" : "application/json"}
body_ = {
"Email": "[email protected]",
"AssetLicenseType": "Trial",
"MachineIds": ["machine1", "machine2"],
"fontAsset":
[
{
"FontId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"FontName": "Neue Aachen™ Pro Ultra Light",
"FontUrl": "http://helveticaurl",
"FontDownloadUrlAPI": "url",
"FontDownloadUrl" : "url1,
"FontFamilyName": "Neue Aachen™ Pro",
"FontFamilyUrl": "http://FontFamilyUrl",
"FontStyle": "Normal",
"FontWeight": "100",
"ExpiryDate": "2017-2-27 11:17:01",
"FontFamilyId": "34"
}
]
}
r = requests.request("POST", urlToHit, data=body_, headers=header_)
print r.headers
print r.status_code
print r.text
Itried То же самое с почтальоном, который дает мне правильный результат, но с помощью питона я получаю выход в
{'X-Processing-Time-Milliseconds': '3', 'Transfer-Encoding': 'chunked', 'X-Powered-By': 'ASP.NET', 'Server': 'Kestrel', 'Date': 'Mon, 06 Feb 2017 14:51:59 GMT', 'Content-Type': 'application/json'} 400 {"Message":"''"}
Я думаю, что я делаю какую-то ошибку при прохождении body_ в
r = requests.request("POST", urlToHit, data=body_, headers=header_)
Выход через Почтальон {"Message":"Created Successfully","SuccessCount":2,"FailCount":0}
Я изучил его, и я предполагаю, что проблема связана с ** fontAssest ** полем. Когда я удаляю это поле из «body_», ответ будет _ {«Сообщение»: «« По крайней мере, один ресурс шрифта требуется »»} _. Но body_ отлично работает с инструментом POSTMAN. Итак ** fontAsset ** - это список словарей. Возможно, мне нужно сфокусироваться на том, как мне нужно передать такой запрос для публикации. –
Пожалуйста, не стесняйтесь на этот вопрос. Существует особый характер ** ™ **, о котором нужно позаботиться. Теперь я могу получить требуемый результат. –