当前位置: 代码迷 >> 综合 >> 向指定的URL发送POST请求
  详细解决方案

向指定的URL发送POST请求

热度:87   发布时间:2023-10-08 20:31:25.0
       /*** 向指定URL发送POST方法的请求* * @param url*            发送请求的URL* @param param*            请求参数,请求参数应该是name1=value1&name2=value2的形式。* @return URL所代表远程资源的响应* @throws Exception*/public static String sendPost(String url, String param, boolean isGBK) throws Exception {PrintWriter out = null;BufferedReader in = null;String result = "";try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection conn = realUrl.openConnection();conn.setRequestProperty("Charset", "UTF-8");// 设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");conn.setConnectTimeout(30000);conn.setReadTimeout(30000);// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(conn.getOutputStream());// 发送请求参数out.print(param);// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应//String charSetName = "UTF-8";if (isGBK) {charSetName = "GBK";} else {charSetName = "UTF-8";}in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charSetName));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送POST请求出现异常!" + e);e.printStackTrace();throw e;}// 使用finally块来关闭输出流、输入流finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}return result;}

  相关解决方案