网上有好多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联网时少走弯路。
具体情况还与当地移动有关
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联网时少走弯路。
具体情况还与当地移动有关