Comment puis-je envoyer une demande POST avec un fichier csv ou un fichier texte au serveur qui exécute une localhost
à l'aide de cURL
.
J'ai essayé curl -X POST -d @file.csv http://localhost:5000/upload
mais j'obtiens
{ "message": "Le navigateur (ou le proxy) a envoyé une requête que ce serveur ne pouvait pas comprendre." }
Mon serveur est flask_restful API
. Merci beaucoup d'avance.
Il y a beaucoup d'autres façons d'accomplir cela. Une façon est J'ai utilisé ce qui suit:
curl -F ‘data=@<file_location>’ <URL>
Par exemple. curl -F [email protected] localhost:5000/h
Votre commande peut aussi être légèrement modifiée comme ceci
curl -X POST -H 'Content-Type: text/csv' -d @file.csv http://localhost:5000/upload
Ce qui précède est l’un des nombreux moyens. Il peut être envoyé sous forme de formulaire ou de données, ou en plusieurs parties, etc. Vous pouvez vous référer à Medium Post
Le type de contenu par défaut de Curl est application/x-www-form-urlencoded
; votre problème est donc probablement que les données que vous postez ne sont pas réellement des données de formulaire. Cela peut fonctionner si vous définissez correctement l'en-tête de type de contenu:
-H "Content-Type: text/csv"
Bien que cela dépende du serveur.