post 封装Map 发送请求
- package com.j1.weixin.util;
- import java.io.IOException;
- import java.util.Map;
- import java.util.Set;
- import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
- import org.apache.commons.httpclient.HttpClient;
- import org.apache.commons.httpclient.HttpException;
- import org.apache.commons.httpclient.HttpStatus;
- import org.apache.commons.httpclient.NameValuePair;
- import org.apache.commons.httpclient.methods.GetMethod;
- import org.apache.commons.httpclient.methods.PostMethod;
- import org.apache.commons.httpclient.params.HttpMethodParams;
- import org.apache.log4j.Logger;
- public class HttpUtils {
- /**
- * 发送HTTP请求
- *
- * @param url
- * @param propsMap 发送的参数
- */
- public static HttpResponse httpPost(String url, Map<String, Object> propsMap) {
- HttpResponse response = new HttpResponse();
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- PostMethod postMethod = new PostMethod(url);// POST请求
- if (propsMap != null) {
- // 参数设置
- Set<String> keySet = propsMap.keySet();
- NameValuePair[] postData = new NameValuePair[keySet.size()];
- int index = 0;
- for (String key : keySet) {
- postData[index++] = new NameValuePair(key, propsMap.get(key)
- .toString());
- }
- postMethod.addParameters(postData);
- }
- postMethod.getParams().setParameter(
- HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
- postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
- try {
- int statusCode = httpClient.executeMethod(postMethod);// 发送请求
- response.setStatusCode(statusCode);
- if (statusCode == HttpStatus.SC_OK) {
- // 读取内容
- byte[] responseBody = postMethod.getResponseBody();
- // 处理返回的内容
- responseMsg = new String(responseBody, "utf-8");
- }
- } catch (HttpException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- postMethod.releaseConnection();// 关闭连接
- }
- response.setContent(responseMsg);
- return response;
- }
- /**
- * 发送HTTP请求
- *
- * @param url
- */
- public static HttpResponse httpGet(String url) {
- HttpResponse response = new HttpResponse();
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- GetMethod getMethod = new GetMethod(url);
- try {
- int statusCode = httpClient.executeMethod(getMethod);// 发送请求
- response.setStatusCode(statusCode);
- if (statusCode == HttpStatus.SC_OK) {
- // 读取内容
- byte[] responseBody = getMethod.getResponseBody();
- // 处理返回的内容
- responseMsg = new String(responseBody, "utf-8");
- }
- } catch (HttpException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- getMethod.releaseConnection();// 关闭连接
- }
- response.setContent(responseMsg);
- return response;
- }
- /**
- * 发送HTTP--GET请求
- *
- * @param url
- * @param propsMap
- * 发送的参数
- */
- public static String httpGetSend(String url) {
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- GetMethod getMethod = new GetMethod(url);// GET请求
- try {
- // http超时5秒
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
- // 设置 get 请求超时为 5 秒
- getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000);
- getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
- httpClient.executeMethod(getMethod);// 发送请求
- // 读取内容
- byte[] responseBody = getMethod.getResponseBody();
- // 处理返回的内容
- responseMsg = new String(responseBody, "utf-8");
- } catch (Exception e) {
- Logger.getLogger(HttpUtils.class).error(e.getMessage());
- e.printStackTrace();
- } finally {
- getMethod.releaseConnection();// 关闭连接
- }
- return responseMsg;
- }
- /**
- * 发送HTTP请求
- *
- * @param url
- * @param propsMap
- * 发送的参数
- */
- public static String httpSend(String url, Map<String, Object> propsMap) {
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- PostMethod postMethod = new PostMethod(url);// POST请求
- // postMethod.
- // 参数设置
- Set<String> keySet = propsMap.keySet();
- NameValuePair[] postData = new NameValuePair[keySet.size()];
- int index = 0;
- for (String key : keySet) {
- postData[index++] = new NameValuePair(key, propsMap.get(key)
- .toString());
- }
- postMethod.addParameters(postData);
- try {
- httpClient.executeMethod(postMethod);// 发送请求
- // Log.info(postMethod.getStatusCode());
- // 读取内容
- byte[] responseBody = postMethod.getResponseBody();
- // 处理返回的内容
- responseMsg = new String(responseBody);
- } catch (HttpException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- postMethod.releaseConnection();// 关闭连接
- }
- return responseMsg;
- }
- /**
- * 发送Post HTTP请求
- *
- * @param url
- * @param propsMap
- * 发送的参数
- * @throws IOException
- * @throws HttpException
- */
- public static PostMethod httpSendPost(String url, Map<String, Object> propsMap,String authrition) throws Exception {
- HttpClient httpClient = new HttpClient();
- PostMethod postMethod = new PostMethod(url);// POST请求
- postMethod.addRequestHeader("Authorization",authrition);
- postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
- // 参数设置
- Set<String> keySet = propsMap.keySet();
- NameValuePair[] postData = new NameValuePair[keySet.size()];
- int index = 0;
- for (String key : keySet) {
- postData[index++] = new NameValuePair(key, propsMap.get(key)
- .toString());
- }
- postMethod.addParameters(postData);
- httpClient.executeMethod(postMethod);// 发送请求
- return postMethod;
- }
- /**
- * 发送Post HTTP请求
- *
- * @param url
- * @param propsMap
- * 发送的参数
- * @throws IOException
- * @throws HttpException
- */
- public static PostMethod httpSendPost(String url, Map<String, Object> propsMap) throws Exception {
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- PostMethod postMethod = new PostMethod(url);// POST请求
- postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
- // 参数设置
- Set<String> keySet = propsMap.keySet();
- NameValuePair[] postData = new NameValuePair[keySet.size()];
- int index = 0;
- for (String key : keySet) {
- postData[index++] = new NameValuePair(key, propsMap.get(key)
- .toString());
- }
- postMethod.addParameters(postData);
- httpClient.executeMethod(postMethod);// 发送请求
- return postMethod;
- }
- /**
- * 发送Get HTTP请求
- *
- * @param url
- * @param propsMap
- * 发送的参数
- * @throws IOException
- * @throws HttpException
- */
- public static GetMethod httpSendGet(String url, Map<String, Object> propsMap) throws Exception {
- String responseMsg = "";
- HttpClient httpClient = new HttpClient();
- GetMethod getMethod = new GetMethod(url);// GET请求
- getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
- // 参数设置
- Set<String> keySet = propsMap.keySet();
- NameValuePair[] postData = new NameValuePair[keySet.size()];
- int index = 0;
- for (String key : keySet) {
- getMethod.getParams().setParameter(key, propsMap.get(key)
- .toString());
- }
- httpClient.executeMethod(getMethod);// 发送请求
- return getMethod;
- }
- }
post 封装Map 发送请求的更多相关文章
- Python 使用 requests 模块发送请求的使用及封装
一.requests 模块基本使用 1.准备接口的URL.请求参数.请求头 # 1. 构造注册.登录.充值请求的url register_url = "注册url" login_u ...
- Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息
本人所使用软件 eclipse fiddle UC浏览器 分析请求信息 以知乎(https://www.zhihu.com)为例,模拟登陆请求,获取登陆后首页,首先就是分析请求信息. 用UC浏览器F1 ...
- http post发送请求
一: 用java自带URL发送 public synchronized JSONObject getJSON(String url2, String param) { try { URL url = ...
- consumer发送请求,接收响应
一般情况,consumer发送请求时,创建一个DefaultFuture对象,然后阻塞并等待响应.DefaultFuture类,封装了请求和响应: // 省略其他代码 public class Def ...
- 九、封装登录POST请求、登录后POST请求以及GET请求
一.封装登录后POST请求以及GET请求 /** * 全局运行时环境参数管理器 */ public static Map<String, String> BASE_GLOBAL_MAP; ...
- RestTemplate发送请求并携带header信息
1.使用restTemplate的postForObject方法 注:目前没有发现发送携带header信息的getForObject方法. HttpHeaders headers = new Http ...
- 封装的ajax请求
在做登录注册这类提交表单数据时,我们经常需要局部刷新网页来验证用户输入的信息,这就需要用到ajax请求,我们通常需要获取表单中的数据,发起ajax请求,通过服务程序,与数据库的数据进行比对,判断信息的 ...
- ajax-向服务器发送请求
ajax-向服务器发送请求 1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法. xmlhttp. open(method,url,async ...
- Android 网络请求库volley的封装,让请求更方便
首先封装一下volley 请求 public class CustomRequest extends StringRequest { private static final String TAG = ...
随机推荐
- 接受POST表单传过来的信息 可以用foreach循环进行遍历操作
if(isset($_POST['Goods'])){ foreach($_POST['Goods'] as $_k =>$_v){ ...
- C# ERP开发框架
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度 ...
- java单点登录系统CAS的简单使用
转:http://blog.csdn.net/yunye114105/article/details/7997041 背景 有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在 ...
- 关于 self 和 super 在oc 中 的疑惑 与 分析
关于 self 和 super 在oc 中 的疑惑 与 分析 面试一定都是很注重 基础的,不管高级还是初级. 虽然基础好跟基础不好都可以写 代码,网上那么多资料. 区分高低也就是研究的深度和广度 ...
- Ruby自学笔记(二)— Ruby的一些基础知识
Ruby安装好之后,我们就可以来实践Ruby语言了. 以下是一些学习到的简单基础知识: 1. 如何执行Ruby文件? 我们编写的Ruby文件是以rb为后缀名的,例如:XXX.rb.当要执行ruby文件 ...
- PHP与MYSQL配合完成IP的存取
如何存储IP 程序设计要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不可忽略的重要部分,巧存IP地址可以一定程度提升性能. 利用函数算法处理 MySQL没有直接提供IP类型字段,但有 ...
- pycharm去掉拼写检查
http://zhidao.baidu.com/question/523436629.html
- ubuntu進入dos界面命令 ubuntu進入圖形界面命令
切换界面: ctrl + alt + F1是切到终端模式 Alt+F7 切到图形界面
- 关于javascript document.createDocumentFragment() 替代insertCell、insertRow这种每次都使用大量的资源导致浏览器崩溃
documentFragment 是一個無父對象的document對象他支持以下DOM2方法: appendChild, cloneNode, hasAttributes, hasChildNodes ...
- Ubuntu 12.04 下安装 Eclipse
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...