【问题标题】:POST csv/Text file using cURL使用 cURL 发布 csv/文本文件
【发布时间】:2018-12-02 13:29:30
【问题描述】:

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

我试过curl -X POST -d @file.csv http://localhost:5000/upload,但我明白了

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

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

【问题讨论】:

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


    【解决方案1】:

    有许多替代方法可以实现这一点。一种方法是 我使用了以下内容:

    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

    【讨论】:

    • 哦,我明白了。非常感谢。有没有办法使用密钥发送此 csv 数据,以便我的服务器可以使用密钥名称获取此文件?
    • 也许,您可以使用 --data-binary 在 csv 文件中包含换行符。
    【解决方案2】:

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

    -H "Content-Type: text/csv"

    虽然它确实取决于服务器。

    【讨论】:

    • 明白。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多