How to test REST API using Chrome's extension “Advanced Rest Client”
按照以下链接的说明,我成功地为我的Django应用程序构建了一个REST API:http://django-rest-framework.org/tutorial/quickstart。
我可以通过在Unix提示符下执行以下操作来测试它:
1 | curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/ |
有用 :)
但是,我想使用Chrome扩展程序Advanced Rest Client来测试相同的功能。
我已经安装了扩展程序,但我不知道在哪里/如何放置字段。 当我做出受过教育的猜测时(正如您在屏幕截图中看到的那样),它拒绝它说"未提供身份验证凭据"
我应该如何/在何处将参数指定给REST API?
可发现性令人沮丧,但Advanced Rest Client处理基本身份验证的方式非常巧妙。提到的亚伯拉罕的捷径对我来说并不起作用,但是一点点的探讨就揭示了它是如何做到的。
您需要做的第一件事是添加
然后,当您聚焦
单击它将弹出一个框。如果你愿意,它甚至可以做OAuth!
田田!如果在单击"构造"时将值字段留空,则会将
从屏幕截图中我可以看到您想要将"用户"和"密码"值传递给服务。您已在请求标头部分中发送了错误的参数值。
值在请求正文中发送,而不是在请求标头中发送。
你的语法也错了。
正确的语法是:
还要检查内容类型是什么。它应与您为服务设置的内容类型相匹配。
这似乎是一个非常古老的问题,但我提供了一个答案,以便它可以帮助其他人。
您可以在表单部分的第二个屏幕中指定变量,如下所示或在
通过附加第二个图像中显示的变量来生成RAW格式。
如果变量和变量值有效,则应在响应部分中看到成功的响应。
通常用于基本身份验证的快捷方式格式为
添加授权标题并单击铅笔按钮以输入用户名和密码
在标题部分你必须写
授权:基本aG9sY67890vbGNpbQ ==
其中string之后的字符串是用户名:密码的64位编码值。
php获取标头值的示例是:
echo"授权:基本"。 BASE64_ENCODE("MYUSER:MYPASSWORD");
n.b:我认为您的身份验证方法是基本的。也可以是不同的。
使用最新的ARC for GET请求需要添加身份验证
名为Authorization:authtoken的原始标头。
请在屏幕截图中找到带有身份验证和查询参数的Get请求
要添加Query参数,请单击URL框左侧的下拉箭头。
解决此身份验证问题的简单方法是使用Fiddler窃取身份验证令牌。
脚步
要求的认证。
参数值。
剪贴板的cookie值。
单击SEND按钮,它将获取结果。