# 接入网关后的请求差异
1.接入网关后,访问后台源站的请求在 IP 上不再为用户终端 IP,而是网关的出口节点 IP
a.如需配置 IP 限频策略,请务必将网关出口节点加入白名单内
b.如需获取用户实际 IP,可通过以下 Header:x-wx-client-ip,x-forwarded-for,x-real-ip
2.接入网关后,请求的 UA 和 Referer 可能不符合预期,请避免通过 UA 和 Referer 判断是否为小程序访问
a.网关请求的 Referer 可能会无法标识小程序的版本(即小程序版本可能为 0)
b.网关请求的 User-Agent 可能为默认 UA:Mozilla/4.0
3.接入网关后,请求的所有 Header 默认会变为小写
a.如 Cookie: xxx=yyy,后台接收到的 Header 会变为 cookie: xxx=yyy
4.接入网关后,所有 x-wx- 开头的 Header 会被丢弃
a.如 x-wx-my-custom-header ,这些 Header 将在网关层被丢弃,后台无法接收到
5.接入网关后,如果 URL 中有复杂的 query ,其行为可能与 wx.request 存在差异
a.如未被 urlencode 的中文 query:?中文=123,其参数会用 encodeURIComponent 转换
6.接入网关后,小程序的请求如果没有标记 dataType,其表现可能会与 wx.request 存在差异
a.如回包为二进制时,小程序可能会收到 UTF-8 字符串或进入 fail 回调。如需使用二进制回包,请务必在请求使用 dataType: "arraybuffer"
7.接入网关后,res.errMsg 会变为 "gateway.call: ok" 而不是 “request: ok”