源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java网络编程中向指定URL发送GET POST请求示例

  • 时间:2020-04-12 21:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java网络编程中向指定URL发送GET POST请求示例
[u]复制代码[/u] 代码如下:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class HttpRequest {     /**      * 向指定URL发送GET方法的请求      *      * @param url      *            发送请求的URL      * @param param      *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。      * @return URL 所代表远程资源的响应结果      */     public static String sendGet(String url, String param) {         String result = "";         BufferedReader in = null;         try {             String urlNameString = url + "?" + param;             URL realUrl = new URL(urlNameString);             // 打开和URL之间的连接             URLConnection connection = realUrl.openConnection();             // 设置通用的请求属性             connection.setRequestProperty("accept", "*/*");             connection.setRequestProperty("connection", "Keep-Alive");             connection.setRequestProperty("user-agent",                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");             // 建立实际的连接             connection.connect();             // 获取所有响应头字段             /*              * Map<String, List<String>> map = connection.getHeaderFields(); //              * 遍历所有的响应头字段 for (String key : map.keySet()) {              * System.out.println(key + "--->" + map.get(key)); }              */             // 定义 BufferedReader输入流来读取URL的响应             in = new BufferedReader(new InputStreamReader(                     connection.getInputStream()));             String line;             while ((line = in.readLine()) != null) {                 result += line;             }         } catch (Exception e) {             System.out.println("发送GET请求出现异常!" + e);             e.printStackTrace();         }         // 使用finally块来关闭输入流         finally {             try {                 if (in != null) {                     in.close();                 }             } catch (Exception e2) {                 e2.printStackTrace();             }         }         return result;     }     /**      * 向指定 URL 发送POST方法的请求      *      * @param url      *            发送请求的 URL      * @param param      *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。      * @return 所代表远程资源的响应结果      */     public static String sendPost(String url, String param) {         PrintWriter out = null;         BufferedReader in = null;         String result = "";         try {             URL realUrl = new URL(url);             // 打开和URL之间的连接             URLConnection conn = realUrl.openConnection();             // 设置通用的请求属性             conn.setRequestProperty("accept", "*/*");             conn.setRequestProperty("connection", "Keep-Alive");             conn.setRequestProperty("user-agent",                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");             // 发送POST请求必须设置如下两行             conn.setDoOutput(true);             conn.setDoInput(true);             // 获取URLConnection对象对应的输出流             out = new PrintWriter(conn.getOutputStream());             // 发送请求参数             out.print(param);             // flush输出流的缓冲             out.flush();             // 定义BufferedReader输入流来读取URL的响应             in = new BufferedReader(                     new InputStreamReader(conn.getInputStream()));             String line;             while ((line = in.readLine()) != null) {                 result += line;             }         } catch (Exception e) {             System.out.println("发送 POST 请求出现异常!" + e);             e.printStackTrace();         }         // 使用finally块来关闭输出流、输入流         finally {             try {                 if (out != null) {                     out.close();                 }                 if (in != null) {                     in.close();                 }             } catch (IOException ex) {                 ex.printStackTrace();             }         }         return result;     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部