如何使用localhost
将带有csv或文本文件的POST请求发送到在cURL
上运行的服务器。
我尝试过curl -X POST -d @file.csv http://localhost:5000/upload
,但得到
{ “ message”:“浏览器(或代理)发送了该服务器无法理解的请求。” }
我的服务器是flask_restful API
。提前谢谢。
答案 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"
尽管它确实取决于服务器。