web-dev-qa-db-fra.com

POST fichier csv/texte utilisant cURL

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.

4
Krishnang K Dalal

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

4
Harshit Garg

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.

0
Luke Schlather