Следующая команда curl работает как задумано. Использует POST для отправки немного информации на веб-сайт.
curl 'https://...' \
-X PUT \
-d "submission[posted_grade]=65" \
-H "Authorization: Bearer 10~X"
Какой должен быть эквивалентный код python3, выдает ошибку 500: Внутренняя ошибка сервера
url_string = 'https://...'
data = "submission[posted_grade]=40"
data = data.encode('utf-8')
req = urllib.request.Request(url_string, data)
req.add_header("Authorization", "Bearer 10~X")
req.add_header("Content-Type", "application/json")
response = urllib.request.urlopen(req)
print(response.read())
Уже пробовал
data = {'submission[posted_grade]': '40'}
data = json.dumps(data)
data = data.encode('utf-8')
Что дает "Ошибка HTTP 422: необработанный объект"
Есть идеи по его устранению?