最近做一个webview 加载h5商城的需求,感觉太简单了,load一个url就ok了,可是到支付的时候,竟然报商户参数格式不正确,请联系商户,查看文档,原来需要在webview 加载的时候需要加入请求头 Referer。简单,分分钟加上了:如下
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("weixin://wap/pay?")) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
} else {
//H5微信支付要用
Map<String, String> extraHeaders = new HashMap<>();
extraHeaders.put("Referer", “微信提交的授权域名”);
view.loadUrl(url, extraHeaders);
}
return true;
}
搞完了,满心欢喜的试试吧,出现的竟然是商户参数未配置,请联系商户,纳尼,为何如此,请求头没加上去?抓包,查看了下添加成功了啊,找前端哥们,一块抓包,也抓到了啊,什么情况,最后原来是前端哥们还要做一次泛解析。几分钟的事竟然搞了一天,希望能帮到同样遇到这个坑的同学。