Python / Requests - Impossible d'envoyer POST correctement, bien qu'il fonctionne dans Postman
toutes les personnes. J'ai le code suivant:
url = "url"
headers = {'Content-type': 'application/json'}
bot = telebot.TeleBot('xxx')
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, message.chat.id)
bot.send_message(message.chat.id, message.chat.username)
data = {"userId": "message.chat.username", "chatId": "message.chat.id"}
answer = requests.post(url, data=data, headers=headers)
print(answer)
La réponse est 400. Mais lorsque j'utilise Postman avec JSON brut: {"userId": "xxx", "chatId": "xxx"}
Cela me donne 200.
Je ne comprends pas la différence. Je vous remercie.
Réponses
Peut-être un problème avec les données. Non?
data = {"userId": f"{message.chat.username}", "chatId": f"{message.chat.id}"}
au lieu de
data = {"userId": "message.chat.username", "chatId": "message.chat.id"}
Pour le facteur, il dispose déjà d'une fonctionnalité permettant de générer du code pour n'importe quel langage de programmation, il vous suffit de cliquer sur le bouton de code et vous obtiendrez le code.
il vous suffit de cliquer sur le bouton de code à droite de l'image
Utilisez un jsonparamètre au lieu de data. Notez qu'ils ne sont pas les mêmes: Différence entre les paramètres data et json dans le package de requêtes python .
answer = requests.post(url, json=data, headers=headers)