web-dev-qa-db-ja.com

POST cURLを使用したcsv / Textファイル

localhostを使用してcURLで実行されているサーバーに、csvまたはテキストファイルを含むPOSTリクエストを送信するにはどうすればよいですか。

私が試してみました curl -X POST -d @file.csv http://localhost:5000/uploadしかし、私は得る

{"メッセージ": "ブラウザ(またはプロキシ)が、このサーバーが理解できないリクエストを送信しました。" }

私のサーバーはflask_restful API。事前に感謝します。

7

これを達成するための多くの代替方法があります。 1つの方法は、以下を使用したことです。

curl -F ‘data=@<file_location>’ <URL>

例えば。 curl -F [email protected] localhost:5000/h

コマンドはこのようにわずかに変更することもできます

curl -X POST -H 'Content-Type: text/csv' -d @file.csv http://localhost:5000/upload

上記は多くの方法のうちの1つです。フォームまたはデータの一部として送信することも、マルチパートなどとして送信することもできます。 Medium Post

7
Harshit Garg

CurlのデフォルトのContent-Typeはapplication/x-www-form-urlencodedしたがって、問題はおそらく、POSTしているデータが実際にフォームデータではないことです。コンテンツタイプヘッダーを適切に設定すると機能する場合があります。

-H "Content-Type: text/csv"

ただし、サーバーによって異なります。

2
Luke Schlather