如何使用REST控制台对http API调用进行反向工程

时间:2013-03-28 10:51:44

标签: json api http rest

我正在尝试使用chrome rest console使用相同的http POST参数复制我在网站(即zoominfo.com)上发出的请求,但由于某种原因它失败了。我不确定是否有丢失的字段或它无法正常工作,因为请求的来源无效..有人能指出我正确的方向吗?以下是该实验的详细说明:


原始案例

基本上,如果我去zoominfo.com(已注册和所有),我会看到一个需要填写的表单页面:

enter image description here

如果我点击进入..该网站进行了ajax调用。如果我打开chrome web dev工具,然后打开network标签,我会看到ajax调用的详细信息:

enter image description here

注意POST的正文中包含 John Becker 的名称:

{ “boardMember”:{ “值”: “包括”, “isUsed”:真}, “workHistory”:{ “值”: “CurrentAndPast”, “isUsed”:真}, “includePartialProfiles” :{ “值”:真的, “isUsed”:真}, “PERSONNAME”:{ “值”: “约翰%20becker”, “isUsed”:真}, “LASTUPDATED”:{ “值” 0“,isUsed “:真}}

响应显示在回复标记下:

enter image description here


我正在尝试做什么

基本上使用REST console复制我上面所做的事情(注意:所以这里没有任何违法行为......我只是用其他客户端动作替换Chrome浏览器动作..我不是黑客任何人,我没有得到信息我不能正常的方式,但如果有人不这样做...请让我知道)..

所以我将上面相同的参数插入到休息控制台:

enter image description here

现在我不确定身份验证..但为了安全起见,我输入了相同的用户名和pwd,我将该站点放入REST控制台:

enter image description here enter image description here

然后我继续收到错误作为对我的休息控制台请求的回应:

enter image description here


更新:正确的回答: 所以根据JMTyler's answer ..我必须简单地在RAW体中包含标准,并将其转换为url编码..除此之外,我必须在其余控制台中显式设置编码身体......

更仔细地查看chrome检查员,结果发现我只需点击view sourceenter image description here

获取我需要在其余控制台中放入RAW正文的url编码值: enter image description here

我还必须将编码设置为gzip,deflate,sdch,一切正常!

2 个答案:

答案 0 :(得分:4)

表单在字段criteria下发布所有JSON。您可以在发布的chrome dev控制台的screencap中看到这一点。

使用criteria=在休息控制台中启动您的原始主体,并确保json已经过url编码。应该这样做。

不需要身份验证,因为没有任何身份验证通过screencap中的标头传递。正常加载页面时所有的cookie都会 通过休息控制台加载,所以你不必担心明确设置它们。

答案 1 :(得分:0)

阅读你的问题我会做出有根据的猜测: zoominfo不提供RESTful API。 Rest-Console理解并使用HTTP身份验证,这与实现的身份验证处理程序zoominfo不同。

可能的解决方法可能是: 通过休息控制台拨打登录页面。你会得到饼干等等。 在随后的zoominfo请求中,请确保在您的请求中包含这些cookie(可能包含一些会话信息),因此就像浏览器一样。