以编程方式打开火狐浏览器并执行 POST 请求?[想法:MozRepl,建议?



在我的应用程序中,我需要有一个按钮来打开Firefox(如果尚未打开),执行包括文件上传在内的POST请求,并向用户显示结果页面(用于进一步导航)。

从我

到目前为止的发现来看,这似乎需要使用像MozRepl或JSSH这样的Firefox扩展,这样我就可以从我的应用程序通过Telnet或SSH连接到该进程。还有其他方法吗?我愿意接受好的建议...

然后我需要使用内容。XMLHttpRequest to create a POST request:

var req = new XMLHttpRequest();
req.open("POST", "http://myurl", true);
// [...]
req.send()

但是什么进来了[...]?以某种方式有一个从本地表单构建的 File 对象;但是我如何自己实例化和填充一个呢?如何让页面结果显示在 Firefox 中?

我可以将临时文件写入磁盘并从那里读取,也可以直接通过Javascript/MozRepl写入文件内容,这两者都是可以接受的(但1)可能不适用于Javascript)。

提前感谢,-M.

从命令行中,您可以打开一个页面,其中包含填充表单和 JavaScript,这些表单将触发此表单发布。 XSS 保护仅适用于后台 XMLHttpRequest,如果您正在发布表单并自动将浏览移动到该页面,则可以。

因此,您应该打开一个可以上传表单的网页。

但是你甚至不会被迫单独创建这个网页,你可以用JavaScript直接设置它来代替URL,就像书签一样:

firefox "javascript:'<html><body onload='document.forms[0].submit()'><form action='http://www.example.com' method='POST'><input name='whatever' value='whatever' type='hidden'></form></body></html>'"

或者你可以创建一个HTML文件,将GET重定向到POST,然后用法如下:

file:///C:/getToPost?name1=value1&name2=value2#http://url.com/service

此超级用户回答中描述了此技术,其中包含此类文件的源代码。

请注意,此 HTML 文件不会强制为本地文件,它可能被放置在远程服务器上。但要考虑到,在远程文件浏览器的情况下,会通知最终网站您的重定向页面作为HTTP引用。

您不能对服务器上包含发送到 POST 请求的 AJAX 代码的另一个页面执行 GET 请求吗?您始终可以使用任何可能包含查询字符串的 url 打开浏览器,而无需任何花哨的 API(即 system('firefox.exe http://stackoverflow.com') .这样,您无需担心浏览器交互。

除此之外,为什么不在应用程序中发出 POST 请求并在应用程序中显示结果呢?

从命令行:

firefox --new-window www.example.com

将打开Firefox的新窗口,并导航到您提供给它的URL。 听起来你可以只使用你的 POST 目标作为 URL,但如果不是,你可以随时转到一个产生 $ 的页面。开机自检呼叫。

相关内容

  • 没有找到相关文章

最新更新