Egg02 使用Postman发送Post请求
使用Postman测试Egg框架实现的API
关闭安全防范
默认情况下,Egg在框架中内置了安全插件egg-security
,插件中针对post
请求做出了一些处理,提供了一些默认的安全实践,并且框架的安全插件是默认开启的,如果需要关闭其中一些安全防范,直接设置该项的enable
属性为false
即可。
写例子的话可临时在config/config.default.js
中设置
1 | exports.security = { |
在网页发送请求
在AJAX请求中,默认配置下,token会被设置在Cookie中,在AJAX请求时,可以从Cookie中获取到token,放置到query、body或者header中发送给服务端:
使用jQuery:
1 | var csrftoken = Cookies.get('csrfToken'); |
通过header传递CSRF token的字段可以在配置中改变:
1 | // config/config.default.js |
在Postman中发送请求
使用Postman来测试API时,直接发送POST请求,会返回403,因为没有传递CSRF token,这个时候可以通过环境配置,来让Postman自动生成CSRF token。
这个功能需要使用独立的Postman APP,Chrome插件是不行的。
在Postman右上角,新建一个环境:
点击Add
添加后,将环境切换为新建的环境:
然后在Tests
标签下,通过下面的脚本,获取cookie中的csfrtoken
,并且写入到postman的全局变量中:
1 | var csrf_token = postman.getResponseCookie("csrftoken").value |
然后发送一个Get请求,来写入Cookie:
在发送Post请求时,在Header中添加{{csrftoken}}
字段:
再点击发送Post请求就没问题了。