j2me代理连接返回码总是400的问题

400是因为错误的语法导致服务器无法理解请求信息。

Consts.debug="启用http代理连接";
httpConn = (HttpConnection) Connector.open("http://10.0.0.172:80/kjava.portal?action=xxx");
httpConn.setRequestMethod(HttpConnection.GET);//需要改成GET请求
httpConn.setRequestProperty("X-Online-Host", "wap.5bingo.cn");
httpConn.setRequestProperty("Connection", "Keep-Alive");
httpConn.setRequestProperty("Accept","*/*");
Consts.debug="连接状态:"+httpConn.getResponseCode();//打印出400
if (HttpConnection.HTTP_OK == httpConn.getResponseCode()) {

}else{

}

如果不改成GET请求,需要把地址后面的参数转成hex

public static String bin2hex(String bin) throws UnsupportedEncodingException {
	char[] digital = "0A1B2C3D4E5F6789".toCharArray();
	StringBuffer sb = new StringBuffer("");
	byte[] bs = bin.getBytes("utf-8");
	int bit;
	for (int i = 0; i < bs.length; i++) {
		bit = (bs[i] & 0x0f0) >> 4;
		sb.append(digital[bit]);
		bit = bs[i] & 0x0f;
		sb.append(digital[bit]);
	}
	return sb.toString();
}



String hex=bin2hex("action=xxx");
httpConn = (HttpConnection) Connector.open("http://10.0.0.172:80/kjava.portal?"+hex);
httpConn.setRequestMethod(HttpConnection.POST);//需要改成POST请求
httpConn.setRequestProperty("X-Online-Host", "wap.5bingo.cn");
httpConn.setRequestProperty("Connection", "Keep-Alive");
httpConn.setRequestProperty("Accept","*/*");

我怎么就没看见POST在作怪呢?呵呵
有些手机不管是post还是get都不会有问题,如N82,但是有些手机需要hex一下,如E73
如果还有问题,全部改成get请求!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值