如何使用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的“结构”框): 构建auth值

点击它将popup一个框。 如果你想的话,它甚至可以做OAuth! 方便的输入

田田! 如果您点击“构造”时将值字段保留为空白,则会将Basic部分添加到其中(我假设它也将添加必要的OAuth内容,但是我没有尝试,因为我目前的需要是基本authentication),所以你不需要做任何事情。 根据需要填写该字段

从截图中我可以看到,你想要传递“用户”和“密码”值到服务。 您在请求头部分发送了错误的参数值。 这些值在请求正文中发送,而不是在请求头中。 你的语法也是错误的。 正确的语法是: {"user":"user_val","password":"password_val"}. 还要检查内容types是什么。 它应该与您为服务设置的内容types匹配。

这似乎是一个非常古老的问题,但我提供了一个答案,以便它可以帮助别人。 您可以在表单部分的第二个屏幕中指定variables,如下所示,或者通过在第二个图像中显示附加variables的RAW格式指定variables。

指定表单变量

以RAW格式指定

如果你的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令牌。

脚步

  1. 启动提琴手和浏览器。
  2. 浏览浏览器以打开Web应用程序(网站)并执行所需的身份validation。
  3. 打开Fiddler并点击HTTP 200 HTML页面请求。 使用Fiddler捕获cookie值
  4. 在右侧窗格中,从请求标题复制cookie标头参数值。 在这里输入图像说明
  5. 打开REST客户端并单击“标题表单”选项卡并从剪贴板提供cookie值。

点击发送button,它将获取结果。

用最新的ARC for GET请求进行身份validation需要添加一个名为Authorization:authtoken的原始头。

请find屏幕截图获取请求身份validation和查询参数

要添加查询参数,请单击URL左侧的下拉箭头。