日期:2014-05-16 浏览次数:20400 次
package com.example.h3c.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ConnectException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.util.Log; import com.example.pickride.util.ConstantsTable; public class HttpConnection { private final int TIMEOUT = 3000;// 设定超时时间 /** * 请求服务器响应 * * @param requestType * 请求类型 requestContent [类型,参数,类型,参数] */ public String requestService(String requestType, String... requestContent) { String resultData = ""; InputStreamReader in = null; HttpURLConnection urlConn = null; BufferedReader buffer = null; try { StringBuffer sBuffer = new StringBuffer(); for (int n = 0; n < requestContent.length; n++) { if ((n + 1) % 2 == 0) { sBuffer.append("=" + requestContent[n] + "&"); } else { sBuffer.append(requestContent[n]); } } URL url = new URL(ConstantsTable.URI + requestType + "?" + sBuffer); if (url != null) { urlConn = (HttpURLConnection) url.openConnection(); urlConn.setConnectTimeout(TIMEOUT);// 设置超时时间 try { in = new InputStreamReader(urlConn.getInputStream()); } catch (ConnectException e) { Log.e(ConstantsTable.LOG_TAG, "服务器宕机了..."); return resultData; } buffer = new BufferedReader(in); String inputLine = null; while ((inputLine = buffer.readLine()) != null) { resultData += inputLine + "\n"; } urlConn.disconnect(); if (ConstantsTable.DEBUG_FLAG) { Log.d(ConstantsTable.LOG_TAG, resultData); } } } catch (MalformedURLException e) { Log.e(ConstantsTable.LOG_TAG, "域名无法解析"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (buffer != null) { buffer.close(); } } catch (IOException e) { e.printStackTrace(); } } return resultData; } }