300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android httpget 参数 安卓通过httpget传入json参数 请求数据

android httpget 参数 安卓通过httpget传入json参数 请求数据

时间:2018-10-11 22:47:40

相关推荐

android httpget 参数 安卓通过httpget传入json参数 请求数据

server接口如:

http://127.0.0.1?param={

"Params" : {

"ProjectID" : "00000010"

},

"Version" : "1.0",

"SessionID" : "111111",

"Method" : "GetProject",

"AppID" : "",

"Key" : "

}

拼凑url的方法如:

public static String getProject(String projectID, String version, String sessionID, String method, String appID, String key) throws JSONException{

JSONObject jo1 = new JSONObject();

jo1.put("ProjectID", projectID);

JSONObject jo = new JSONObject();

jo.put("Params",jo1);

jo.put("Version", version);

jo.put("SessionID", sessionID);

jo.put("Method", method);

jo.put("AppID", appID);

jo.put("Key", key);

String str = jo.toString().replace("\"", "%22").replace("{", "%7b").replace("}", "%7d");

return "http://127.0.0.1?param="+str;

}

tips:在http post或get请求时,传入的参数不能有"或{或},所以需要转码。

从server发送请求得到数据:

public JSONObject getJSONObjFromUrl(String url) throws Exception { HttpParams httpParams = new BasicHttpParams(); setHttpParams(httpParams); DefaultHttpClient httpClient = new DefaultHttpClient(httpParams); HttpGet httpGet = new HttpGet(url); HttpResponse httpResponse = httpClient.execute(httpGet); int res = httpResponse.getStatusLine().getStatusCode(); if (200 == res) { HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); jsonStr = sb.toString(); jObj = new JSONObject(jsonStr); } else { throw new Exception(); } return jObj; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。