android初级之Android获取网页数据的方法总结
2559 点击·0 回帖
![]() | ![]() | |
![]() | 本文总结了三种获取网页数据的代码,是自己在用的时候随手整理出来的。此处仅贴出函数段,不贴出import了,用的时候可以用eclipse自动import一下就行了。函数的详细用途描述请看代码中注释。调用的时候请对应函数需要的参数。 //第一种 /**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器 * 将获得的返回结果(String)返回给调用者 * 本函数适用于查询数量较少的时候 */ public String posturl(ArrayList<NameValuePair> nameValuePairs,String url){ String result =""; String tmp=""; InputStream is =null; try{ HttpClient httpclient =new DefaultHttpClient(); HttpPost httppost =new HttpPost(url); httppost.setEntity(newUrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ return"Fail to establish http connection!"; } try{ BufferedReader reader =new BufferedReader(newInputStreamReader(is,"utf-8")); StringBuilder sb =new StringBuilder(); String line =null; while((line = reader.readLine()) != null) { sb.append(line +"\n"); } is.close(); tmp=sb.toString(); }catch(Exception e){ return"Fail to convert net stream!"; } try{ JSONArray jArray =new JSONArray(tmp); for(inti=0;i<jArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); Iterator<?> keys=json_data.keys(); while(keys.hasNext()){ result += json_data.getString(keys.next().toString()); } } }catch(JSONException e){ return"The URL you post is wrong!"; } returnresult; } //第二种 /**获取参数指定的网页代码,将其返回给调用者,由调用者对其解析 * 返回String */ public String posturl(String url){ InputStream is =null; String result =""; try{ HttpClient httpclient =new DefaultHttpClient(); HttpPost httppost =new HttpPost(url); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ return"Fail to establish http connection!"+e.toString(); } try{ BufferedReader reader =new BufferedReader(newInputStreamReader(is,"utf-8")); StringBuilder sb =new StringBuilder(); String line =null; while((line = reader.readLine()) != null) { sb.append(line +"\n"); } is.close(); result=sb.toString(); }catch(Exception e){ return"Fail to convert net stream!"; } returnresult; } //第三种 /**获取指定地址的网页数据 * 返回数据流 www.atcpu.com */ public InputStream streampost(String remote_addr){ URL infoUrl =null; InputStream inStream =null; try{ infoUrl =new URL(remote_addr); URLConnection connection = infoUrl.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection)connection; intresponseCode = httpConnection.getResponseCode(); if(responseCode == HttpURLConnection.HTTP_OK){ inStream = httpConnection.getInputStream(); } }catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } returninStream; } 摘自 虚怀若谷 | |
![]() | ![]() |