公共代码参考(httpclient)
public class HttpClientUtils {
private static final String CHARSET = "UTF-8";
/*
* http get请求
*
* @param url
*
* @param params
*
* @return
*/
public static String httpGet(String url, Map<String, String> params) {
if (true == StringUtils.isEmpty(url)) {
return null;
}
List<NameValuePair> pl = getParamList(params);
// 转换参数
if (null != pl) {
String urlparams = URLEncodedUtils.format(pl, CHARSET);
url = url + "?" + urlparams;
}
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
try {
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (null != entity) {
return EntityUtils.toString(entity);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/*
* http post请求
*
* @param url
*
* @param params
*
* @return
*/
public static String httpPost(String url, Map<String, String> params) {
if (true == StringUtils.isEmpty(url)) {
return null;
}
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
List<NameValuePair> pl = getParamList(params);
// 转换参数
if (null != pl) {
HttpEntity entity;
try {
entity = new UrlEncodedFormEntity(pl);
httppost.setEntity(entity);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (null != entity) {
return EntityUtils.toString(entity);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/*
* 创建标准的NameValuePair格式参数
*
* @param params
*
* @return
*/
public static List<NameValuePair> getParamList(Map<String, String> params) {
if (null == params || 0 == params.size()) {
return null;
}
List<NameValuePair> list = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> param : params.entrySet()) {
list.add(new BasicNameValuePair(param.getKey(), param.getValue()));
}
return list;
}
}
- 测试用例
public class HttpClientUtilsTest extends TestCase {
private static final String LOG_TAG = "HttpClientUtilsTest";
public void testHttpGet1(){
String url = "http://192.168.1.101:3000/gettest";
String result = HttpClientUtils.httpGet(url, null);
System.out.println(result);
Log.i(LOG_TAG, result);
}
public void testHttpGet2(){
String url = "http://192.168.1.101:3000/gettest";
Map<String,String> map = new HashMap<String,String>();
map.put("username", "fredric");
map.put("password", "fredrictoo");
String result = HttpClientUtils.httpGet(url, map);
System.out.println(result);
Log.i(LOG_TAG, result);
}
public void testHttpPost1(){
String url = "http://192.168.1.101:3000/posttest";
Map<String,String> map = new HashMap<String,String>();
map.put("username", "sinny");
map.put("password", "sinnytoo");
String result = HttpClientUtils.httpPost(url, map);
System.out.println(result);
Log.i(LOG_TAG, result);
}
}
公共代码参考(httpclient)的更多相关文章
- 公共代码参考(Volley)
Volley 是google提供的一个网络库,相对于自己写httpclient确实方便很多,本文参考部分网上例子整理如下,以作备忘: 定义一个缓存类: public class BitmapCache ...
- Session id实现通过Cookie来传输方法及代码参考
1. Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.因此从上述的定义中我们可以看到,Session实际上是一个特定的 ...
- 如何在vuejs中抽出公共代码
当我们在使用vue构建中大型项目时,通常会遇到某些经常用的方法以及属性,比如说搭建一个员工管理系统,请求的url需要一个共同的前缀,或者在某几个view中需要用到时间,这个时间是通过某方法格式化之后的 ...
- webpack学习笔记--提取公共代码
为什么需要提取公共代码 大型网站通常会由多个页面组成,每个页面都是一个独立的单页应用. 但由于所有页面都采用同样的技术栈,以及使用同一套样式代码,这导致这些页面之间有很多相同的代码. 如果每个页面的代 ...
- [转] 用webpack的CommonsChunkPlugin提取公共代码的3种方式
方式一,传入字符串参数 new webpack.optimize.CommonsChunkPlugin(‘common.js’), // 默认会把所有入口节点的公共代码提取出来,生成一个common. ...
- webpack4 系列教程(三): 多页面解决方案--提取公共代码
这节课讲解webpack4打包多页面应用过程中的提取公共代码部分.相比于webpack3,4.0版本用optimization.splitChunks配置替换了3.0版本的CommonsChunkPl ...
- 详解用webpack的CommonsChunkPlugin提取公共代码的3种方式(注意webpack4.0版本已不存在)
Webpack 的 CommonsChunkPlugin 插件,负责将多次被使用的 JS 模块打包在一起. CommonsChunkPlugin 能解决的问题 在使用插件前,考虑几个问题: 对哪些 c ...
- webpack配置提取公共代码
公共代码提取功能是针对多入口文件的: 背景:在pageA.js和pageB.js中分别引用subPageA.js和subPageB.js webpack.config.js文件: var path = ...
- 系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层
系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="j ...
随机推荐
- shell 环境初始化顺序
登陆shell 的执行顺序 /etc/profile /etc/profile.d/file /etc/bashrc .bashrc .bash_profile 非登录shell 的执行顺序, 例如: ...
- DataSet用法详细 转
DataSet用法详细 转 DataSet用法详细 一.特点介绍 1.处理脱机数据,在多层应用程序中很有用. 2.可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法. 3.处理分级 ...
- Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在上下文中使用
可以使用string.formt来避免出错. 如: <%# Convert.ToInt32(DataBinder.Eval(Container.DataItem, "Status&qu ...
- 树莓派安装Transmission-daemon出现的问题
1,安装时发现默认的源里面没有transmission-daemon包 pi@fynn:/etc/apt/sources.list.d $ sudo apt-get install transmiss ...
- HMC V7.9.0升级至SP2版本
补丁下载地址:http://www-933.ibm.com/support/fixcentral/ 选择补丁版本 MH01405是和ftp://ftp.software.ibm.com/softwar ...
- OSG配置问题
BUILD_OSG_ARAPPERS: 这一项要选,不然后面编译自己的测试程序的时候,会报无法打开文件"osgIntrospectiond.lib"错误. Could not fi ...
- Jquery插件开发学习
一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...
- vim c++补全
弄了个vim对c++的补全,主要参考自: http://vim.wikia.com/wiki/C%2B%2B_code_completion 首先确定vim编辑.cc或者.cpp文件时当前自动补全 ...
- 解决ORA-00824: cannot set sga_target due to existing
今天Linux服务器机子重启了下,Oracle启动不起来,提示:解决ORA-00824: cannot set sga_target due to existing 看了很多解决方法,发现下面这个特别 ...
- hibernate配置 sqlserver 数据库自动增长
<id name="Id" type="integer"> <column name="userid" > < ...