发送带参数文件的 HTTP 请求

发送带参数文件的 HTTP 请求

我的问题很简单:是否可以从 *nix 命令行发送 HTTP 请求,并指定包含所有参数的文件作为参数?

在 REST API 文档中,我们经常会看到这样的规范

POST /oauth/token HTTP/1.1
Host: api.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=password
  &client_id=<API_KEY>
  &client_secret=<API_SECRET>
  &username=<USER_USERNAME>
  &password=<USER_PASSWORD>

为了避免命令行太长且不易编辑,是否可以将这些信息放在一个文件中,采用上述格式(这似乎很标准)?理想情况下,使用 curl 的内容应该是这样的

curl --input-file myparameters.txt

我在 curl 文档中找不到这样的功能。也许可以使用其他命令行工具?提前致谢。

答案1

如果您从 UNIX 命令行执行此操作,我不明白为什么创建一个脚本不会那么困难,该脚本本质上解析您的文本输入,然后将其转换为 curl 可以在 CLI 上使用的内容。例如,如果一行以“HOST”开头,您可以使用 sed 在表示 curl 程序输入的行末尾创建一个表示主机名的字符串。其余部分也是如此。

否则,为什么不尝试自己编写一个简单的客户端/包装程序/脚本呢?这并不难,只是很乏味,你可以随时在这里寻求更多帮助(很久以前,我做过类似的事情来测试防火墙设置)。

http://alternativeto.net/software/curl/

相关内容