public String callServer(String askUrl,String json){ StringBuffer sb = new StringBuffer(""); //输出的结果 try { URL url = new URL(askUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); connection.setUseCaches(false);//不使用缓存 connection.setInstanceFollowRedirects(true);//自动重定向 connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式 connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式 //连接 connection.connect(); //POST请求 OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(),"UTF-8"); out.write(json); System.out.println("data======="+json); out.flush(); out.close(); //读取响应 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String lines; while ((lines = reader.readLine()) != null) { lines = new String(lines.getBytes()); sb.append(lines); } System.out.println(sb.toString()); reader.close(); connection.disconnect(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return sb.toString(); }
get请求:
public String callServer(String askUrl){ BufferedReader in = null; StringBuilder result = new StringBuilder(); try { URL url = new URL(askUrl); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); //Get请求不需要DoOutPut conn.setDoOutput(false); conn.setDoInput(true); //设置连接超时时间和读取超时时间 conn.setConnectTimeout(10000); conn.setReadTimeout(10000); conn.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式 conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); //连接服务器 conn.connect(); // 取得输入流,并使用Reader读取 in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result.append(line); } } catch (Exception e) { e.printStackTrace(); } //关闭输入流 finally{ try{ if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result.toString(); }