http,https请求的处理

本文介绍了如何使用Java处理HTTP和HTTPS请求,包括GET和POST方法。通过示例代码展示了连接服务器、发送请求、处理响应的过程,并针对HTTPS请求进行了特别的安全配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、处理http请求:

/**
	 * 处理http GET/POST请求
	 * @param requestUrl 请求地址
	 * @param requestMethod 请求方法
	 * @param outputStr 参数
	 * @return
	 */
	public static String httpRequest(String requestUrl,String requestMethod,String outputStr){
		
		StringBuffer buffer = null;
		try{
			
		URL url = new URL(requestUrl);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod(requestMethod);


                conn.setDoOutput(true);
                conn.setDoInput(true);
		conn.connect();
		
		//往服务器写内容
		if(null != outputStr){
			OutputStream os = conn.getOutputStream();
			os.write(outputStr.getBytes("utf-8"));
			os.close();
		}
		
		// 读取服务器端返回的内容
		InputStream is = conn.getInputStream();
		InputStreamReader isr = new InputStreamReader(is, "utf-8");
		BufferedReader br = new BufferedReader(isr);
		buffer = new StringBuffer();
		String line = null;
		while ((line = br.readLine()) != null) {
		        buffer.append(line);
		}
		}catch(Exception e){
			e.printStackTrace();
		}


	return buffer.toString();
}

二、处理https请求:


/**
	 * 处理https GET/POST请求
	 * @param requestUrl 请求地址
	 * @param requestMethod 请求方法
	 * @param outputStr 参数
	 * @return
	 */
	public static String httpsRequest(String requestUrl,String requestMethod,String outputStr){
		
		StringBuffer buffer = null;
		try{
		// 创建SSLContext
		SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
		TrustManager[] tm = { new MyX509TrustManager() };
		// 初始化
		sslContext.init(null, tm, new java.security.SecureRandom());
		// 获取SSLSocketFactory对象
		SSLSocketFactory ssf = sslContext.getSocketFactory();


		
		URL url = new URL(requestUrl);
		HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
		conn.setRequestMethod(requestMethod);
		
		// 设置当前实例使用的SSLSocketFactory
		conn.setSSLSocketFactory(ssf);
                conn.setDoOutput(true);
                conn.setDoInput(true);
		conn.connect();
		
		//往服务器写内容
		if(null != outputStr){
			OutputStream os = conn.getOutputStream();
			os.write(outputStr.getBytes("utf-8"));
			os.close();
		}
		
		
		


		// 读取服务器端返回的内容
		InputStream is = conn.getInputStream();
		InputStreamReader isr = new InputStreamReader(is, "utf-8");
		BufferedReader br = new BufferedReader(isr);
		buffer = new StringBuffer();
		String line = null;
		while ((line = br.readLine()) != null) {
		        buffer.append(line);
		}
		}catch(Exception e){
			e.printStackTrace();
		}


	return buffer.toString();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值