使用cURL

时间:2018-06-23 06:36:42

标签: python-3.x curl flask flask-restful

如何使用localhost将带有csv或文本文件的POST请求发送到在cURL上运行的服务器。

我尝试过curl -X POST -d @file.csv http://localhost:5000/upload,但得到

  

{       “ message”:“浏览器(或代理)发送了该服务器无法理解的请求。”   }

我的服务器是flask_restful API。提前谢谢。

2 个答案:

答案 0 :(得分:5)

有许多其他方法可以完成此操作。一种方法是 我使用了以下内容:

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

例如。 curl -F data=@data.csv localhost:5000/h

您的命令也可以像这样稍微更改

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

以上是多种方式之一。它可以作为表单或数据的一部分发送,也可以作为多部分发送,等等。您可以参考Medium Post

答案 1 :(得分:1)

Curl的默认Content-Type为application/x-www-form-urlencoded,因此您的问题可能是您要发布的数据实际上不是表单数据。如果正确设置内容类型标头,则可能会起作用:

-H "Content-Type: text/csv"

尽管它确实取决于服务器。