如何使用Chrome的扩展“高级rest客户端”testingREST API
按照下面的链接说明,我成功地为我的Django应用程序构build了一个REST API: http : //django-rest-framework.org/tutorial/quickstart 。
我可以通过在Unix提示符下执行以下操作来testing它:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
有用 :)
但是,我想使用Chrome扩展高级rest客户端来testing相同的function。 我已经安装了扩展,但我不知道在哪里/如何把领域。 当我做出我的教育猜测(正如你可以在屏幕截图中看到的),它拒绝它说:“身份validation凭据没有提供”
我应该如何/在哪里指定我的参数到REST API?
可发现性是令人沮丧的,但Advanced Rest Client如何处理基本身份validation非常聪明。 提到的快捷方式亚伯拉罕对我来说并不起作用,但是有一点点刺激,显示了它是如何做到的。
你需要做的第一件事是添加Authorization
标题:
然后,当你把注意力集中在inputvalue
时,popup一个漂亮的小东西(注意右下angular的“结构”框):
点击它将popup一个框。 如果你想的话,它甚至可以做OAuth!
田田! 如果您点击“构造”时将值字段保留为空白,则会将Basic
部分添加到其中(我假设它也将添加必要的OAuth内容,但是我没有尝试,因为我目前的需要是基本authentication),所以你不需要做任何事情。
从截图中我可以看到,你想要传递“用户”和“密码”值到服务。 您在请求头部分发送了错误的参数值。 这些值在请求正文中发送,而不是在请求头中。 你的语法也是错误的。 正确的语法是: {"user":"user_val","password":"password_val"}.
还要检查内容types是什么。 它应该与您为服务设置的内容types匹配。
这似乎是一个非常古老的问题,但我提供了一个答案,以便它可以帮助别人。 您可以在表单部分的第二个屏幕中指定variables,如下所示,或者通过在第二个图像中显示附加variables的RAW格式指定variables。
如果你的variables和variables值是有效的,你应该在响应部分看到一个成功的响应。
通常用于基本身份validation的快捷方式格式为http://username:password@example.com/path
。 您还需要在请求中包含accept头。
在标题部分,你必须写
授权:基本aG9sY67890vbGNpbQ ==
在basic之后的string是你的用户名:密码的64位编码值。 获取标题值的PHP示例是:echo“Authorization:Basic”。 BASE64_ENCODE( “MYUSER:MYPASSWORD”);
NB:我假定你的authentication方法是基本的。 这也可以是不同的。
添加授权标题并点击铅笔buttoninput用户名和密码
解决此authentication问题的简单方法是使用Fiddler窃取身份validation令牌。
脚步
- 启动提琴手和浏览器。
- 浏览浏览器以打开Web应用程序(网站)并执行所需的身份validation。
- 打开Fiddler并点击HTTP 200 HTML页面请求。
- 在右侧窗格中,从请求标题复制cookie标头参数值。
- 打开REST客户端并单击“标题表单”选项卡并从剪贴板提供cookie值。
点击发送button,它将获取结果。
用最新的ARC for GET请求进行身份validation需要添加一个名为Authorization:authtoken的原始头。
请find屏幕截图获取请求身份validation和查询参数
要添加查询参数,请单击URL左侧的下拉箭头。