当前位置: 代码迷 >> Android >> Android透过URL获取网络数据(2)
  详细解决方案

Android透过URL获取网络数据(2)

热度:33   发布时间:2016-05-01 18:25:08.0
Android通过URL获取网络数据(2)

//第一种	/**	 * 获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器	 * 将获得的返回结果(String)返回给调用者	 * 本函数适用于查询数量较少的时候	 * qian.long	 * 2011-06-07	 */	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(new UrlEncodedFormEntity(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(new InputStreamReader(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(int i = 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!";	    }	 	    return result;	}	 	//第二种	/**	 * 获取参数指定的网页代码,将其返回给调用者,由调用者对其解析	 * 返回String	 * qian.long	 * 2011-06-07	 */	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(new InputStreamReader(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!";	    }	 	    return result;	}	 	//第三种	/**	 * 获取指定地址的网页数据	 * 返回数据流	 * qian.long	 * 2011-06-07	 */	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;	        int responseCode = 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();	    }	    return inStream;	}
?
  相关解决方案