我正在尝试使用wget下载一个文件
我的命令如下:
wget https://example.com/feeder/example.xml
这是控制台中的输出:
德语:
--2020-12-12 18:07:47-- https://example.com/feeder/example.xml
Auflösen des Hostnamens example.com (example.com) … 100.100.100.100 (Some ip)
Verbindungsaufbau zu example.com (example.com)|100.100.100.100|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 403 OK
2020-12-12 18:07:47 FEHLER 403: OK.
英文:
--2020-12-12 18:07:47-- https://example.com/feeder/example.xml
Resolving the hostname example.com (example.com) ... 100.100.100.100 (Some ip)
Connecting to example.com (example.com)|100.100.100|:443 ... connected.
HTTP request sent, waiting for response ... 403 OK
2020-12-12 18:07:47 ERROR 403: OK.
如果响应代码是403;"禁止";,但我得到了";OK";相反
来自规范
6.1.1状态代码和原因短语
Status Code元素是一个3位数的整数结果代码,用于尝试理解和满足请求。这些代码在第10节中有详细定义。原因短语旨在对状态代码进行简短的文本描述。状态代码用于自动机,原因短语用于人类用户。客户端不需要检查或显示原因短语。
最后一句话最能说明问题;根本不应该(通过程序和推断,人类(依赖于原因短语的准确性/拼写/语言/文本。假设服务器可以被编码为发送任何东西,它发送OK表示服务器中有一个错误,但不是一个有问题的错误(从"你接受的是自由的"的意义上(-如果你能够确定它是什么服务器,并且它是一个当前未知的问题,你应该忽略它,或者将其作为错误报告给服务器代码的维护者
HTTP响应只需要特定的(数字(代码来匹配标准。任何附带的文本(称为"原因短语"(都只是供人类使用,无论出于何种原因,与您交谈的服务器都决定不发送与代码含义实际匹配的文本。
(参见RFC 7231第6.1节(