我正在寻找一种方法来手动将Post请求提交到服务器,而不使用网站的UI。当我手动执行操作时,我可以在Firebug中看到请求标头和帖子参数(单击UI' s"提交"按钮)。我希望有一种方法可以使用这些标题和参数对一些Javascript进行逆向工程,以便我们可以自动执行此过程。
原因:我公司最近购买了一些流程自动化软件,使我们能够编写自动化机器人,访问业务合作伙伴的门户网站并自动调整我们的数字营销出价。对于我们的一个合作伙伴网站,前端操作似乎不起作用,因为Post请求是通过AJAX提交的。
该软件允许我们在环境中执行自定义JavaScript,因此我尝试使用标头和请求参数构建一些Javascript。
是否有标准模板,我可以插入这些参数来执行将Post请求发送到服务器的Javascript?
谢谢
更新
谢谢大家的帮助!我已经取得了一些进展,但仍然难以在软件中实施解决方案。
当我在Firefox中运行Firebug中的代码时,以下请求有效:
$.ajax({
type: "POST",
url: "http://acp.example.com/campaigns/122828",
data: "data-string"
});
但是,我们使用的软件可能有点过时,我不确定它是否识别AJAX语法。
有没有办法有效地编写上面的相同语句,但在Javascript而不是AJAX?然后我认为它会起作用。
答案 0 :(得分:0)
如果您只想做POST数据,则不需要JavaScript。
您应该可以使用浏览器扩展程序。我有一个名为REST Console,与你描述的类似。我相信REST控制台仅适用于Chrome,但快速的Google搜索为FireFox提供了类似的扩展名为RESTClient。
答案 1 :(得分:0)
您可以使用AJAX将数据发布到服务器,而无需任何直接的UI交互。我将在下面分解一个简单的jQuery示例:
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
});
$.ajax
是jQuery框架提供的一种方法,可以使AJAX请求变得简单并且与浏览器兼容。如您所见,我传入了一个包含各种值的JSON对象:
type
- 这是我指定的第一个密钥,在这种情况下,您希望它具有值POST
,因为这决定了HTTP请求方法。
url
- 这指定服务器端点,例如:post/data/here.php
会将数据发布到该网址,以便可以正确地拾取和处理它。
data
- 此密钥需要在POST请求中发送JSON对象,字符串或数据数组。
success
- 此密钥需要一个函数,它在服务器对请求的响应中调用,并传递任何相关数据。