如何手动向服务器提交帖子请求?

时间:2014-07-21 16:28:16

标签: javascript xmlhttprequest

我正在寻找一种方法来手动将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?然后我认为它会起作用。

2 个答案:

答案 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 - 此密钥需要一个函数,它在服务器对请求的响应中调用,并传递任何相关数据。

更多文档位于:http://api.jquery.com/jquery.ajax/