分析Http请求头获取爱帮公交数据

爱帮公交公布了自己的openAPI,但是之前自己不知道,就通过chrome的开发人员控制台工具分析了爱帮工具的http请求头,然后在android端进行http请求,获得公交信息。

还算顺利,其中的一点曲折就是服务器端返回的是 zip压缩的数据,要使用ziphelper进行解压缩。

 

 

 String url="http://wap.aibang.com:8081/client/servlet/busline.c?city=北京&keyword=618&s=android_noxy";
        HttpGet httpGet = new HttpGet(url);     
        httpGet.addHeader("PLATFORM_N", "abbus_android");
        httpGet.addHeader("CLIENT_V", "abbus_android_v3.0");
        httpGet.addHeader("CONTENT_TYPE", "pzip");
        httpGet.addHeader("ENCODING", "utf-8");
        httpGet.addHeader("UID", "b239cc83f23c4dab90fe6a27e329dea73b7a052");
        httpGet.addHeader("SOURCE", "0");
        httpGet.addHeader("UA", "sdk,8,2.2,sdk-eng 2.2 FRF91 43546 test-keys,Unknown,null");

        HttpClient httpclient = new DefaultHttpClient();            
        //请求HttpClient,取得HttpResponse               
        HttpResponse httpResponse;
		try {
			httpResponse = httpclient.execute(httpGet);
			
			if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)  {    
	        //    String strResult = EntityUtils.toString(httpResponse.getEntity().getContent());
			    InputStream is = httpResponse.getEntity().getContent();
				is = new GZipInputStream(is, GZipInputStream.TYPE_GZIP, false);

         		BufferedReader br = new BufferedReader(new InputStreamReader(is));
         		String line;
         		StringBuilder sb =  new  StringBuilder();  
         		while ((line = br.readLine()) != null) {
         			sb.append(line);
         		}
         	   String s = sb.toString();
         	   
         	   Toast.makeText(this, s, Toast.LENGTH_LONG).show();
         	  
	        }
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值