【问题标题】:Terminal - How to run the HTTP request 'PUT'终端 - 如何运行 HTTP 请求“PUT”
【发布时间】:2014-09-25 16:51:47
【问题描述】:

所以,我想做的是从 Linux 的终端运行 HTTP 请求“PUT”。不是 POST,不是 GET,'PUT'。

我知道在终端中你可以只输入“GET http://example.com/”,但是当我输入“PUT http://example.com”(以及之后的一堆其他变量......)时,终端说 PUT 不是命令.

这是我尝试过的:

:~$ PUT http://example.com
PUT: command not found

嗯,有没有命令“PUT”的替代品,或者从终端发送 HTTP 请求的某种方式?

我不想使用任何外部程序......我不想下载或安装任何东西。还有其他方法吗?

【问题讨论】:

  • I know in terminal you can just type 'GET http://example.com/'。然后你知道我在密集使用 Linux 的 6 年中没有遇到过的事情。有大写命令是不寻常的。 (猜猜它们来自哪里:libwww-perl
  • 我不想使用任何外部程序....我不想下载任何东西。还有其他方法吗? (对不起,我应该指定的!)

标签: linux bash http terminal put


【解决方案1】:

我会使用 curl 来实现:curl -X PUT http://example.com

【讨论】:

  • 好吧,我不想使用任何外部程序....我不想下载任何东西。还有其他方法吗? (对不起,我应该指定的!)
【解决方案2】:

curl -X PUT -d arg=val -d arg2=val2 http://sssss.zzzz

如果终端不是您的主要关注点,将工作或使用邮递员处理 HTTP 请求 www.getpostman.com,否则,CURL 始终存在。

【讨论】:

    【解决方案3】:

    你得到了

    Terminal said that PUT is not a command.
    

    因为信息没有通过网络连接重定向(到可以理解 HTTP 的东西)。 bash 本身有限支持通过网络进行通信,如

    中所述

    除此之外,HTTP specification 还提到了 PUT

    PUT 方法请求将封闭的实体存储在提供的 Request-URI 下。如果 Request-URI 引用一个已经存在的资源,封闭的实体应该被认为是在源服务器上的一个修改版本。如果 Request-URI 不指向现有资源,并且该 URI 能够被请求用户代理定义为新资源,则源服务器可以使用该 URI 创建资源。

    澄清一下,如果您要 PUT 到现有的 URI,您也许可以这样做,并且该命令隐含地需要一些 数据 来反映修改。 p>

    HTTP - Methods (TutorialsPoint) 中的示例显示了用于在 URI 上存储 HTML 正文的 PUT 命令。您的脚本必须将数据(以及初始请求)重定向到网络连接。

    您可以使用 here-document 或重定向文件来完成所有这些操作,例如(使用该示例来说明如何调整它):

    cat >/dev/tcp/example.com/80 <<EOF
    PUT /hello.htm HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
    Host: www.tutorialspoint.com
    Accept-Language: en-us
    Connection: Keep-Alive
    Content-type: text/html
    Content-Length: 182
    <html>
    <body>
    <h1>Hello, World!</h1>
    </body>
    </html>
    EOF
    

    但您的脚本还应该提供读取服务器响应的功能。

    【讨论】:

      【解决方案4】:

      -X 标志与您想要的任何 HTTP 动词一起使用:

      curl -X PUT -H "Content-Type: multipart/form-data;" -d arg=val -d arg2=val2 localhost:8080
      

      此示例还使用 -d 标志为您的 PUT 请求提供参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-15
        • 2019-09-27
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        • 2012-08-03
        • 2015-12-23
        • 1970-01-01
        相关资源
        最近更新 更多