2 iwonderwhyandhow IWONDERWHYANDHOW 于 2016.01.14 09:30 提问

建行支付接口问题。无法跳转支付页

由于项目需要,我这边做了一个网上支付功能,商家的卡是建行的,按照建行提供的接口,我们这边拼接好url串,但是跳转到建行页面的时候出了问题。我们这边用的是response.sendRedirect(url)过去,但是建行那边提示【商户地址参数不符】 错误码是:0130Z1109001 给我们的文档就四个大字:系统错误。后来也做了各种测试,分别用表单直接提交这个Url,location.href这个url,都是一样的结果。但是奇怪的是,如果把这个拼接好的url直接输入到浏览器地址栏,然后敲回车访问,成功跳转到支付页面了!!!莫名其妙啊,求大神给分析一下是什么原因啊,小弟感激不尽!

3个回答

xionglangs
xionglangs   Rxr 2016.01.14 09:42

如果表单可以,在浏览器处,你打开下,开发者模式,看看有为有那个地址,看看这个地址有没有问题,这里的url基本可以确定是乱码照成的public String urlencode(String s) throws UnsupportedEncodingException {
s = new String(s.getBytes("UTF-8"), "ISO8859_1");
return s;
}
你看看把中文转下码可不可以。

xionglangs
xionglangs 回复IWONDERWHYANDHOW: 可以截个运行了response.sendRedirect(url)之后浏览器器的开发者模式的图看下吗
接近 2 年之前 回复
IWONDERWHYANDHOW
IWONDERWHYANDHOW 回复编程菜鸟熊浪: 然而并没有中文在URL里
接近 2 年之前 回复
xionglangs
xionglangs 回复IWONDERWHYANDHOW: 上面说错了,是浏览器可以,就说明你地址没有错,只不过是经过response.sendRedirect(url)传过去后,这个url不对了,因为它中文乱码了,所以要先编码。
接近 2 年之前 回复
IWONDERWHYANDHOW
IWONDERWHYANDHOW 表单不可以,只在浏览器地址栏输入可以
接近 2 年之前 回复
enpterexpress
enpterexpress   2016.01.14 09:47

是不是拼接的url不对,或方式不对导致获取的url不对

rui888
rui888   Ds   Rxr 2016.01.14 10:48

response.sendRedirect(url)
你的url 到底是怎样的。
或者用抓包工具分析看看,具体提交有什么差别。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!