我正在学习如何编写一个rest api,我可以从命令行卷曲并使用以下行获得预期的响应
curl -v -u username:pass -X GET http://api.mysite.com/user/1
但是当我尝试通过浏览器访问它时,我的api没有收到基本身份验证的用户名和密码。这对我不起作用
http://username:pass@api.mysite.com/user/1
我知道我的api没有获取用户名和密码,因为我检查了$ _SERVER ['PHP_AUTH_USER']并且它是空白的。
为什么我通过curl而不是通过浏览器接收凭据?
答案 0 :(得分:0)
您不应该在URL中传递凭据,出于安全原因,这种方法在许多现代浏览器中已被弃用,它也从来都不是正式的。如果您正在寻找更便捷的开发/测试/使用API的方法,我建议您为Chrome安装此扩展程序:Dev HTTP Client
然后只需正确设置Authorization
HTTP标头。维基百科是您的朋友,回答如何执行此操作:Basic Access Authentication - Client side