利用Charles测试webhook

在云服务的测试过程中经常会碰到webhook,例如:支付成功、退款成功、用户注册成功、订单状态改变等events,这个时候写个简单的http服务也能满足,但是直接用charles更简单~

1.通常云平台的接口都可以设置相关webhookURL,更高级的时候还会设置headers

2.在URL中设置charleshttp proxy的地址以及端口号

3.当相应events触发webhook时,charles会收到相应请求,但是这些请求不会得到任何响应,服务端就会重复多次去请求,尝试拿到响应

4.charles中有Map Local&BlackList两个工具,一个是用来重定向本地文件的,另一个则是加入黑名单,返回相应错误状态码

5.Map Local返回的状态码始终是200,它不会根据你本地返回的文件内容来改变的(本地文件可以通过其他正常的请求保存下来,又或者自己写一个response文件)

6.BlackList可以在两种返回项中任选其一,一种是Drop connection,Return 403 response,这两种情况下,webhook服务都会视为失败

7.webhook服务一般都有失败之后重复尝试的机制,所有当webhook一直是在blacklist中的话,webhook会一直重复尝试,只当重复机制结束或者是我们人为的把webhook请求从blacklist转移到Map Local