package com.example.slidingmenu.yujing.client.network; import java.io.IOException; import java.net.ProtocolException; import java.net.URL; import java.net.URLEncoder; import org.json.JSONException; import org.json.JSONObject; import android.util.Log; import com.example.slidingmenu.yujing.client.application.ClientApplication; public class Request { private static final int CONNECTTIMEOUT = 30000; private static final int READTIMEOUT = 10000; /** * 访问服务器<br/> * 没有做是否联网的判断。但是可以用于wifi、wap、net * @param json - 手机客户端请求json * @return ""表示访问失败,成功则返回对应的json字符串 */ public static String request( String json ) { //判断是否为json字符串 try { new JSONObject( json ); } catch ( JSONException e ) { Log.e( "Request", "不是json数据", e ); return ""; } byte[] response = null; try { URL url = new URL( ClientApplication.HTTP, ClientApplication.IP_ADDRESS, ClientApplication.PORT, ClientApplication.FILE ); response = HttpClient.connect( url, HttpClient.HTTP_POST, "requestParam=" + URLEncoder.encode( json, "utf-8" ), Request.CONNECTTIMEOUT, Request.READTIMEOUT); } catch (NullPointerException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { String res = new String( response, "utf-8" ); return res.trim(); } catch ( Exception e ) { Log.e( "Request", "访问失败", e ); return ""; } } }