J2ME连接WAP网

网上有好多J2ME联网的例子,但是我发现基本能搜到的都不适用,一般来说是写成这样

hc = (HttpConnection) Connector.open("http://xxx/xxx.jsp",Connector.READ,true);

这种方法是针对CMNET方法的,而我们基本又都是CMWAP方式访问网络,那么是不能这样写的,应该写成如下

hc = (HttpConnection) Connector.open("http://10.0.0.172:80/访问的网页",Connector.READ,true);
hc.setRequestProperty("X-Online-Host","自己的服务器名");
hc.setRequestProperty("User-Agent", System.getProperty("microedition.profiles"));

http://10.0.0.172:80是移动的WAP代理的IP和网关,你首先是先连到它那,再通过它代理访问你的服务器。

比如你要访问:http://www.game.com/j2meTest.jsp那么应该写成

hc = (HttpConnection) Connector.open("http://10.0.0.172:80/j2meTest.jsp",Connector.READ,true);
hc.setRequestProperty("X-Online-Host",www.game.com);
hc.setRequestProperty("User-Agent", System.getProperty("microedition.profiles"));

这样写完连接还没完,你需要写两次它,再写一遍内容一样的如下:

hc = (HttpConnection) Connector.open("http://10.0.0.172:80/j2meTest.jsp",Connector.READ,true);
hc.setRequestProperty("X-Online-Host",www.game.com);
hc.setRequestProperty("User-Agent", System.getProperty("microedition.profiles"));

为什么写两遍呢,你可以试一下,如果写一遍的话你访问到的不是你要访问的页面而是移动的资费页,资费页是你在第一次连接的时候才跳出来,所以我们再连一次就访问的是你要访问的页面了,当然如何更好的跳过移动资费页还需要你自己去完善,写这文章就是为了大家在初次做J2me与wap联网时少走弯路。

具体情况还与当地移动有关
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值