微信接口回调又坑了?

2017-06-26 20:04:50 +08:00
 sdrzlyz

URL 回调莫名其妙的会收到空的 GET 请求:

tid: 299deac3-7444-4de8-964d-ced6d89b9b0e
time: 17/06/26 19:45:43
url: /xxxx/xxxx/cgi
agent: Mozilla/5.0 (Linux; Android 4.4.4; Coolpad Y82-520 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36 MicroMessenger/6.5.4.1000 NetType/4G Language/zh_CN
req: 
resp: {'code':'10008','desc':'invalid, but got body: ','alert':'请求格式错误'}

及时的换过地址,发现请求马上就跟过来了,排除人为访问的可能。

可是接口文档中明明写着会有对应的 query 参数 [signature, timestamp, nonce] 嘛。。。有没有小伙伴知道什么情况呢?(接口上线大半年了,也是最近 1 个月才出现的这种现象😶)

	signature := r.URL.Query().Get("signature")
	timestamp := r.URL.Query().Get("timestamp")
	nonce := r.URL.Query().Get("nonce")

	if signature == "" || timestamp == "" || nonce == "" {
		data, err := ioutil.ReadAll(r.Body)
		defer r.Body.Close()
		if err != nil {
			misc.RespondMessage(rw, r, errs.Wrap(errs.ErrInternal, err.Error()))
			return
		}
		misc.RespondMessage(rw, r, errs.Wrap(errs.ErrRequestFormat, "invalid, but got body: %s", string(data)))
		return
	}
4221 次点击
所在节点    全球工单系统
3 条回复
mokeyjay
2017-06-26 20:11:43 +08:00
大半年前遇到过,做了参数判断,校验失败就丢弃
sdrzlyz
2017-06-26 22:53:38 +08:00
@mokeyjay 好吧,感觉也是。微信的文档里面也没说过有这种空的请求
greatbody
2017-06-26 23:21:40 +08:00
@sdrzlyz 要相信腾讯的程序员也是人,也会犯错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX