linux - 在 Web 浏览器中将 URL 作为 HTTP POST 请求(而不仅仅是 GET)打开的脚本

标签 linux windows macos http shell

如何从命令行脚本打开 URL 作为对 URL 的 POST 请求?我想在 Linux、Windows 和 MacOS 上执行此操作,这是一种跨平台的方式来执行此操作

对于其中的每一个,我都可以使用以下方法打开对 URL 的 GET 请求:

  • xdg-open [url] - Linux
  • 开始 [url] - Windows
  • 打开 [url] - MacOS

...但我看不到执行 POST 请求的方法。有可能吗?如果可能的话怎么办?

此外,展示如何向请求添加 POST 正文也将不胜感激。仅供引用,我正在编写的脚本是用 Ruby 编写的,因此操作系统内置的任何东西或使用 Ruby 的东西都可以。

更新:

澄清一下,我希望在默认浏览器中打开它,而不仅仅是发出 POST 请求并获取结果。

最佳答案

抱歉,没有可靠的方法可以跨浏览器和跨操作系统执行此操作。当我们在 IE8 中构建加速器时,IE 团队花了很多时间研究这个主题。

最接近的方法是将 HTML 页面写入具有自动提交表单(或 XmlHttpRequest)的磁盘,然后调用浏览器加载将提交表单的页面。这将您的代码限制为仅提交可从浏览器合法提交的表单(例如,只有您可能的内容类型等)。

关于linux - 在 Web 浏览器中将 URL 作为 HTTP POST 请求(而不仅仅是 GET)打开的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690802/

相关文章:

php - 有没有办法在 Linux 中使用 xdebug 而不编译源代码?

linux - 什么是内存互锁?

c++ - 同时等待套接字和 bool var 的可移植 C++11 方法

c - 使用 QtCreator [mac os] 找不到 -lrt 的库

linux - 在单服务器应用程序中使用内存缓存的最佳方式是什么?

linux - 从区域文件中提取行

windows - 如何使用 gnuwin32 Makefile 执行 powershell/cmd 命令?

java - 将FileInputStream和FileOutputStream传给ffmpeg进行转码(使用JAVE-Java音视频编码)

Eclipse 4.2、Mac OS X 10.8 (ML) 和 Java 6

macos - 使用 $HOME/Application 文件夹创建 dmg 安装程序