HttpUrlConnection get方式通信
StringBuffer str=new StringBuffer(URLStr+"?"); Map<String,Object> requestParamsMap = new HashMap<String, Object>(); requestParamsMap.put("type",0); Iterator it=requestParamsMap.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String,Object> element=(Entry<String, Object>) it.next(); str.append(element.getKey()); str.append("="); str.append(element.getValue()); str.append("&"); } if(str.length()>0) str.deleteCharAt(str.length()-1);//删除末尾多余的一个&
try { URL url=new java.net.URL(str.toString()); URLConnection connection=url.openConnection(); HttpURLConnection con=(HttpURLConnection)connection; con.setDoOutput(false); //get请求能使用缓存 con.setUseCaches(true); con.setRequestMethod("GET"); con.connect(); BufferedReader reader=new BufferedReader(new InputStreamReader(con.getInputStream())); String line=null; String result=""; while((line=reader.readLine())!=null){ result+=line; } System.out.println(result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
因为是get请求,需要把请求参数附加到url中,这里用到了hashmap,将绑定的参数放置在map对象中,然后依次遍历取出map对象,按照顺序填充url,然后执行url.openConnection()操作获取URLConnection对象。
接下来把上面的URLconnection对象强转为HttpUrlConnection对象。con.setDoOutput(false)表明不进行output操作。con.setRequestMethod("GET")表明发起的是GET请求。
最后一步是获取服务器返回的数据,这里用到了BufferedReader ,将返回的inputstream对象缓存好,最后利用BufferedReader 对象的read方法,将buffer中的数据按照行的顺序提取出来,保存在result。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。