在 Windows 上,我想发出简单的 HTTP 请求来查找脚本中的错误。当然,我通常使用更方便的工具(例如 Firefox 中的“REST 客户端”插件),但现在我想更深入一点。
如何在 Windows 中从命令行发出 HTTP 请求?
我尝试使用 Plink(来自 PuTTY):
plink -telnet -P 80 servername GET /index.php
但服务器一直告诉我,
请求动词无效。
可能它忽略了该GET /index.php
部分。
- 我没有
telnet
(我正在使用公司的电脑,无法在这里安装该 Windows 功能) - 我想将其保持在低级水平(不遵循任何重定向等)
答案1
您不能使用 Telnet 协议来实现 HTTP。PuTTY 将发送一些破坏 HTTP 协议的 Telnet 控制序列。您需要使用交换机
-raw
(而不是-telnet
)建立“原始”连接。您只能使用 SSH 协议在 Plink 命令行上指定命令。它不适用于原始连接或 Telnet。但您可以使用输入重定向。
这应该有效:
echo GET /index.php | plink.exe -raw -P 80 servername
不过你最好使用一些更强大的工具。例如:
PHP:只需下载一个包含 PHP Windows 版本的 ZIP 存档,提取
php.exe
并php5ts.dll
获取完整的 HTTP 实现,并采用功能齐全的脚本语言。无需安装。