*********************************************POST******************************************************
public static String doPost(String url,Map<String, String> params) {
HttpPost httpPost = new HttpPost(url);
// 取出map中所有的参数名
Set<String> keys = params.keySet();
String result ="";
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
// 通过循环将参数保存到lst集合
for(String name:keys) {
String value = params.get(name);
parameters.add(new BasicNameValuePair(name, value));
}
try {
httpPost.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8"));
// 准备请求头数据
HttpClient httpClient = HttpClients.createDefault(); //创建客户端
HttpResponse httpResponse = httpClient.execute(httpPost); //发送请求
// 发起请求,获取接口响应信息
result = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**以get的方法处理接口请求调用
* @param url
* @param params
* @return
*/
public static String doGet(String url,Map<String, String> params) {
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
// 取出所有参数
Set<String> keys = params.keySet();
// 通过循环将参数保存到lst集合
for(String name:keys) {
String value = params.get(name);
parameters.add(new BasicNameValuePair(name, value));
}
String parameter = URLEncodedUtils.format(parameters, "UTF-8");
url+="?"+ parameter;
HttpGet httpGet = new HttpGet(url);
HttpClient httpClient = HttpClients.createDefault();
String result ="";
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
result =EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
这里举例说一下post请求的封装,get请求类似
@Test
public void f1(){
try {
String url = "http://XXXXX:XXXX/futureloan/mvc/api/member/login";
HttpPost post = new HttpPost(url);
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("mobilephone", 13455555555));
parameters.add(new BasicNameValuePair("pwd", e10adc3949ba59abbe56e057f20f883e));
parameters.add(new BasicNameValuePair("type", 1));
// entity为原生form表单格式,可以从请求中Content-Type:
// application/x-www-form-urlencoded中获得
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters);
post.setEntity(entity);
// 创建一个客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
//发送请求包
CloseableHttpResponse response = httpClient.execute(post);
//获得响应体
HttpEntity respEntity = response.getEntity();
String respResult = EntityUtils.toString(respEntity);
System.out.println(respResult);
} catch (Exception e) {
e.printStackTrace();
}
}
封装的思路,抽取出不变的部分,提取出参数(需要变化的:比如url地址,请求参数)--此处补充说明:从上面可看出请求参数存放在List parameters 中,该依赖于httpClient,所以此处可换成HashMap,更具有通用性
private static String post(String url, Map<String, String> paramsMap) {
String respResult = "";
try {
// 生成post请求
HttpPost post = new HttpPost(url);
if (paramsMap != null) {
// 设置post请求参数--请求体中间
// 创建一个容器,将保存在HashMap中的参数保存到这个容器中
List<NameValuePair> paramsList = new ArrayList<>();
Set<String> keySet = paramsMap.keySet();
for (String key : keySet) {
String value = paramsMap.get(key);
paramsList.add(new BasicNameValuePair(key, value));
}
// 创建一个原生form表单的请求体
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramsList);
// 设置post请求体
post.setEntity(entity);
}
// 创建一个HTTP发送客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
// 发数据包
CloseableHttpResponse response = httpClient.execute(post);
// 获取响应体中的内容
HttpEntity respEntity = response.getEntity();
respResult = EntityUtils.toString(respEntity);
return respResult;
} catch (Exception e) {
e.printStackTrace();
}
return respResult;
}
调用方法
@Test
public void post() {
// 1.请求地址
String url = "http://XXXXX:XXXX/lmcanon_web_auto/mvc/member/api/member/login";
// 3.设置post请求参数--请求体中间
// 创建一个容器,保存每个参数
HashMap<String,String> paramsMap=new HashMap<>();
paramsMap.put("mobilephone", 13555555555);
paramsMap.put("pwd", e10adc3949ba59abbe56e057f20f883e);
paramsMap.put("type", 1);
//返回响应体
String respResult=HttpUtils.post(url, paramsMap);
System.out.println(respResult);
}
slack下载apk8普通话翻译粤语旋风视频国家标准下载驱动安装软件小说下载器360浏览器xpnes游戏中心dm码麦芽网冰封王座3下载easyicon铁友火车票虚拟按键大师f4vsfa系统vip看看插件智慧联想恶灵附身2修改器白话文转文言文医学电子书包360急速平板QQopeniv谷歌身份验证器谷歌浏览器32位treesize耶耶网京东七鲜海拔测量仪下载电脑管家携程app下载湖南省考试院云上智农官网死亡之屋3下载热血街机3dmax图标羞羞app98五笔sp4爱奇艺万能播放器09对战平台官网修改默认浏览器后会无期番号驱动总同济启明星黑马软件起点作家助手n64虫虫助手苹果脸猫我的云文档迅雷资源视频相册制作软件成都国税tv市场哈利波特游戏下载游戏下载器熊猫免费小说游戏发展钢铁侠三惠普1007驱动中日互译翻译透明头像助手3gqq星空影视app文库免费下载vc2015字体包免费下载王者荣耀无敌挂origin游戏易邮牙医管家官网趣书猎杀潜航4下载全局透明壁纸eread贴图游戏联昊通单号查询地球帝国下载冰封王座论文排版软件施乐打印机驱动扩展分区冰点文库湖南省考试院晴天小猫anylink惠普126ahwinfo扫描仪软件樱花影运动世界校园华为手机刷机软件落尘影视超清中国地图zip破解在线ktvwinrara夸克电脑国家标准下载软媒硬盘装机海龙插件下载日历wood下载cf盒子app资源库刺客信条2兄弟会荟萃浏览器ereadcrc在线计算器老照片修复软件中国企业银行网易账号管理后羿采集器官网山西省农村信用社我家亳州三只松鼠下载7080d田字格a4打印版历趣市场立刻查360极速浏览器moldflow文件夹选项在哪里新浪微盘拍拍网购物声卡驱动下载小寻app东吴证券官网下载孤岛惊魂5修改器ug是什么软件鲁大师游戏盒子微信电脑版官网12神器天学网学生端下载v8电影网mplay水平标尺文件夹加密码电脑文件搜索软件怎么看片wxpcwind金融is智慧平台批量下载西蜀网悟饭游戏厅下载假面骑士大乱斗香聘考研app同济大学高等数学corel勒索软件远哭5永远的伊苏1gpeditu租号官网必应输入法民生e安康诺盾手机镜子安装夜神安卓模拟器奥克斯空调遥控器开服侠充电加速蚂蚁磁力搜索引擎58好借实用五金手册音频声音放大软件faceit3d解剖软件小米手机root风云视频转换器绿豆刷机神器盗墓长生印下载海棠搜书网倍速播放器班级优化大师官网建行app理光打印机驱动115浏览器官网系统工具癞蛤蟆工具箱达成共识表情包盼之叮咚音箱输入网络密码安卓日历vc2005下载yikes对比软件美女软件移动彩云ghr旧版本qq迅捷软件电脑序列号我是农场主
欢迎来到testingpai.com!
注册 关于