【问题标题】:Why a fully working web site gives a 405 error when queried using curl?为什么使用 curl 查询完整的网站会出现 405 错误?
【发布时间】:2021-08-10 22:34:09
【问题描述】:

我有一个网络应用程序在我的局域网上运行,我可以从同一个子网使用任何客户端上的任何浏览器轻松访问它,只需一个简单的 http:///

没什么特别的。一直有效。

但是当我尝试以下 curl 命令时:

curl -I http://<IP>/

我从 curl 那里得到了他的回应:

HTTP/1.1 405 Method Not Allowed
Content-Type: text/plain; charset=utf-8
Allow: GET
Content-Length: 23
Date: Fri, 21 May 2021 17:11:59 GMT
Server: Python/3.8 aiohttp/3.7.4.post0

我期待 200 OK

【问题讨论】:

    标签: curl http-status-code-405


    【解决方案1】:

    您必须删除错误的选项-I,它是--head 的别名,不同于默认的-X GET

    因为这个原因,响应显示您不允许使用 HEAD 方法 (405),并且唯一接受的是 GET,因此您必须将命令重写为 @ 987654324@.


    编辑*

    如果只获取状态码,为了测试服务的健康,你应该重写命令如下:

    curl -s -o /dev/null -w "%{http_code}" http://<IP>/
    

    结果将是一个包含 http 响应状态代码的字符串。

    【讨论】:

    • 不,这行不通。我试过了,它只是把整个网页都扔给了我。我的目标是使用这个 curl 命令来检查 Web 服务器是否正常运行(通常由 200 OK 表示),我在 YAML/JSON 中提取它并在响应不同于 200 时在自动化脚本中使用它来发送警报好的。
    • 我明白了。现在我在手机上,所以我不能写完整的代码。只需搜索CURL参数,只打印http状态码,你的问题或许就解决了!
    • 太棒了!效果很好?非常感谢!!
    • 很高兴为您提供帮助。请将我的答案设置为分辨率。
    猜你喜欢
    • 2012-05-15
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多