HttpProxyUtil HTTP请求工具类源码
来源:互联网 发布:数据库系统实现第三版 编辑:程序博客网 时间:2024/06/07 13:10
查看原文:http://www.ibloger.net/article/124.html
HttpProxyUtil HTTP请求工具类源码
package com.chinatelecom.web.trade.utils;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import org.apache.log4j.Logger;/** * HTTP请求代理类 * * @author X-rapido * @description 发送Get Post请求 */public class HttpProxyUtil { private static Logger logger = Logger.getLogger(HttpProxyUtil.class); /** * 使用URLConnection进行GET请求 * @param api_url * @return */ public static String sendGet(String api_url) { return sendGet(api_url, "", "utf-8"); } /** * 使用URLConnection进行GET请求 * @param api_url * @param param * @return */ public static String sendGet(String api_url, String param) { return sendGet(api_url, param, "utf-8"); } /** * 使用URLConnection进行GET请求 * @param api_url 请求路径 * @param param 请求格式有name1=value1&name2=value2、json、xml、map或其他形式,具体要看接收方的取值, 可以为空 * @param charset 字符集 * @return */ public static String sendGet(String api_url, String param, String charset) { StringBuffer buffer = new StringBuffer(); try { // 判断有无参数,若是拼接好的url,就不必再拼接了 if(param!=null && !"".equals(param)){ api_url = api_url + "?" + param; } logger.info("请求的路径是:" + api_url); URL realUrl = new URL(api_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)"); conn.setConnectTimeout(12000); //设置连接主机超时(单位:毫秒) conn.setReadTimeout(12000); // 设置从主机读取数据超时(单位:毫秒) conn.connect(); // 建立实际的联接 // 定义 BufferedReader输入流来读取URL的相应 try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset))) { String line; while ((line = in.readLine()) != null) {// buffer.append("\n"+line); buffer.append(line); } } } catch (Exception e) { logger.error("发送GET请求出现异常! " + e.getMessage()); e.printStackTrace(); } logger.info("响应返回数据:" + buffer.toString()); return buffer.toString(); } /** * 使用URLConnection进行POST请求 * @param api_url 请求路径 * @param param 请求格式有name1=value1&name2=value2、json、xml、map或其他形式,具体要看接收方的取值,最好不为空 * @return */ public static String sendPost(String api_url, String param) { return sendPost(api_url, param , "utf-8"); } /** * 使用URLConnection进行POST请求 * @param api_url 请求路径 * @param param 请求格式有name1=value1&name2=value2、json、xml、map或其他形式,具体要看接收方的取值,最好不为空 * @param charset 字符集 * @return */ public static String sendPost(String api_url, String param, String charset) { StringBuffer buffer = new StringBuffer(); try { logger.info("请求的路径是:"+ api_url+",参数是:" + param); URL realUrl = new URL(api_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)"); conn.setConnectTimeout(12000); //设置连接主机超时(单位:毫秒) conn.setReadTimeout(12000); // 设置从主机读取数据超时(单位:毫秒) // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 try (PrintWriter out = new PrintWriter(conn.getOutputStream())) { out.print(param); // 发送请求参数 out.flush();// flush输出流的缓冲 } // 定义 BufferedReader输入流来读取URL的相应,得指明使用UTF-8编码,否则到API服务器XML的中文不能被成功识别 try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset))) { String line; while ((line = in.readLine()) != null) {// buffer.append("\n"+line); buffer.append(line); } } } catch (Exception e) { logger.error("发送POST请求出现异常! " + e.getMessage()); e.printStackTrace(); } logger.info("响应返回数据:" + buffer.toString()); return buffer.toString(); }}
1 0
- HttpProxyUtil HTTP请求工具类源码
- Http请求工具类
- http请求工具类
- http请求工具类
- HTTP 请求工具类
- http请求工具类
- HTTP请求工具类
- HTTP请求工具类
- http请求工具类
- http请求工具类
- 工具类【Http请求】
- Http请求工具类
- HTTP 请求 工具类
- Http请求工具类
- Http请求工具类
- HTTP请求工具类
- Iphone HTTP请求工具类
- Android----http请求工具类
- sql || 连接符
- Cookie/Session机制详解
- python笔记
- mac端的优秀抓包工具——Charles使用
- DirectionalViewPager常见问题及解决方法小结
- HttpProxyUtil HTTP请求工具类源码
- 《密码技术》(一):密码
- Solr简单介绍
- java内存机制
- 发送邮件
- Android学习笔记 (图片选择器的使用selector)
- opencv3.0 机器学习模块使用
- MySQL启动及入门语句
- Andriod中可以上下切换图片的ViewPager