【问题标题】:lwp-request in shell: how to make POST request with body?外壳中的 lwp-request:如何使用正文发出 POST 请求?
【发布时间】:2011-10-23 14:45:10
【问题描述】:

我使用简单的 shell 脚本来测试一些处理 POST 请求的 http 服务器。 通常它看起来像:

echo "param1=value1&param2=value2" | POST localhost/service

但现在我还想在 POST body 中传递一些 json,而这正是我完全错过的地方。

man POST 和 google 也没有多大帮助。

看来它要么很简单,要么完全不可能。

感谢您的帮助。

【问题讨论】:

    标签: shell http-post lwp


    【解决方案1】:

    您可能需要使用 -c 传递内容类型:

    POST -c application/json
    

    【讨论】:

    • 您能不能指定确切的命令行外观? echo "param1=value1&param2=value2" | POST -c application/json "some body content here" localhost/service 没用。
    【解决方案2】:

    要么我错过了什么,要么你应该做

    $ echo -n '{"json":"data"}' | POST -c "application/json" 'http://localhost/service?param1=value1&param2=value2'

    如果您需要将这些参数不是 GET 而是 POST,然后查找多部分表单数据。

    【讨论】:

    • 你的意思可能是echo -n '{"json":"data"}' | POST -c "application/json" localhost/service这很好,但仍然让我有问题如何传递请求参数"param1=value1&param2=value2"
    • 是的,我明白了。将 body 和 params 都传递给 http 请求的唯一机会是使用 GET 参数。那是我对http请求的理解不足,谢谢帮助。还不能投票,缺乏声誉。
    猜你喜欢
    • 2011-05-11
    • 2013-10-09
    • 1970-01-01
    • 2020-01-26
    • 2018-01-21
    • 2017-11-17
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    相关资源
    最近更新 更多