Я работаю с API, у которого нет документации, и я ударил камень преткновения. У меня есть функция:Python Request Post issue
def add_to_publicaster(self):
# function that is called in the background whenever a user signs the petition and opts in to the mailing list
# Makes an API call to publicaster <--- More documentation to follow --->
username = app.config['PUBLICASTER_USERID']
userPass = app.config['PUBLICASTER_PASS']
headers = {'Authorization': {username:userPass}, "Content-type" : "application/json", "Accept":'text/plain'}
url = 'https://api7.publicaster.com/Rest/Subscribers.svc/1?format=json'
data = {"Item": {
"Email": "juli[email protected]"
}
}
r = requests.post(url, headers = headers, data = data)
Это просто предполагают, чтобы сделать запрос POST с этим форматом:
POST https://api7.publicaster.com/Rest/Subscribers.svc/1?format=json HTTP/1.1
Content-Type: application/json
Authorization: <AccountID>:<Password>
Host: api7.publicaster.com
Content-Length: 64
Expect: 100-continue
Connection: Keep-Alive
{ "Item" : {
"Email" : [email protected]
}
}
код в функции, однако, не продуцирующие требуемый запрос. Любые советы были бы очень полезны.
Что вы получаете? – thefourtheye
Очень длинное сообщение об ошибке, в котором в основном говорится, что сервер обнаружил ошибку при обработке запроса. Решение, я думаю, должно соответствовать запросу «выборки» как можно ближе. – JulianGindi
вам нужно json закодировать ваши данные .. 'json.dumps (dict (data = data))' – karthikr