`

Android Http CMWAP联网获取实例【转】

 
阅读更多

上午的时候原本想通过改变切入点的方式来实现cmwap,但是我们技术总监认为不好,无奈,继续狠下心来,就做了个CMWAP获取HTTP数据的demo,比想象中的简单多了。

在这里扯下淡,大家看过拖延心理学没,如果一个人不喜欢做某件事情,那么这个人采取的最直接的方式就是拖延,感觉自己这种情况很明显,另外如果一件事情,自己想做,公司也有需要,那么这个时候你工作起来就是双倍功效,反之就会效率就会折扣。

好了,不扯淡了,我直接贴下代码,好了.

//10.0.172.80 移动梦网网关
// 梦网网关的端口号

try {
   URL url = new URL("http://10.0.0.172:80/api/wap.do?op=verify&code=800000012&imei=357242042763950&cellid=35092&lac=4191");
   HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
   httpConn.setRequestProperty("X-Online-Host", "www.uareonly.com");
   httpConn.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");
      httpConn.setRequestMethod("GET");
      httpConn.setRequestProperty("Accept", HTTP_S_KACCEPT);
      httpConn.setRequestProperty("User-Agent", HTTP_S_KUSERAGENT);
      
      int length = httpConn.getContentLength();
      Log.e("", "length:"+length);
      
      InputStream input = httpConn.getInputStream();
      byte[] data = new byte[length];
      input.read(data);
      Log.e("", "result:"+new String(data));
      input.close();
      httpConn.disconnect();
  } catch (MalformedURLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }


实际要访问的地址是:
http://www.uareonly.com/api/wap.do?op=verify&code=800000012&imei=357242042763950&cellid=35092&lac=4191

获取的结果是:



在此之前显示的数据表明:
如果在CMWAP连接方式下,直接的使用:URL url = new URL (http://wwww.); 这种方式,那么会直接报unknow host的异常错误,

上面的方式是以前在写J2ME游戏扣费代码部分总结出来的,现在基本是照搬到android上,以前碰到过需要连接2次得情况,但是今天测试并没有发现这种情况.

2011.10.11补充更新:

最近测试呢,发现有时候会返回移动梦网网关的数据,但是概率比较小,因此有时候还是应该做下判断,判断是否是返回移动梦网网关的数据.我这边测试返回的移动梦网网关的数据如下:
网关返回数据

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics