使用方法在特定 Url 上发布主体数据来打开 chrome

使用方法在特定 Url 上发布主体数据来打开 chrome

我想使用 url 方法 POST 和一些数据(例如 ValueOne=Value1 和 ValueTwo=Value2 等等)打开 Chrome...

是否可以通过命令行或者批处理来实现?

例如“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”http://www.url.com“这里是身体数据

谢谢

答案1

据我所知,没有直接的方法可以做到这一点。但我使用了一种解决方法:

TLDR;使用包含自动提交表单的数据 URL。

数据 URL可以包含浏览器将显示的 html。因此,我将一个包含 POST 数据和 JS 的表单放入该 URL 中以自动提交。我必须将数据编码为 base_64。

首先,通过 data-url 传递给浏览器的 HTML 如下所示:

<body onload="document.s.submit()">
  <form action="domain.tld/path/script.php" name="s" method="post">
    <input type="hidden" name="action" value="edit"> 
    <input type="submit" value="go">
  </form>
</body>

接下来,Command 和 data-url 的基本格式如下:

start chrome /new-window data:text/html;charset=utf-8;base64,',[base_64_enceded_url] plain-url-in-a-second-tab.tld/path

为了测试,我使用了一个在线 base64 编码器但是对于我的实际任务,我通过 MYSQL 创建了一个 txt 文件,从中我一次剪切并粘贴了一堆行到命令行:

CONCAT ('start chrome /new-window data:text/html;charset=utf-8;base64,',
 REPLACE(TO_BASE64(CONCAT('<body onload="document.s.submit()"> <form action="somedomain.tld/admin/new_attrib.php" name="s" method="post"><input type="hidden" name="action" value="edit"><input type="submit" value="go"></form></body>')), '\n', ''), ' "anotherurl.tld/somepage.php?products_id=',p.products_id,'&action=edit"  AS PasteMeToWindowsCMD

(我添加了 REPLACE() 是因为 TO_BASE64() 添加了换行符。这些会破坏我同时将多个命令粘贴到 CMD 的意图,并且会使从文本文件剪切命令到 CMD 变得更加复杂。)

这样,我便为需要编辑的每个实体(产品)获得了一个浏览器窗口,其中有三个选项卡代表我需要编辑的三个地方。

相关内容