httpPost请求用java代码实现的方法
原文:https://www.cnblogs.com/johnson-yuan/p/6713384.html
package com.day3.sample;
//首先下面我我们需要导入的jar包和文件
import java.io.IOException; import java.util.ArrayList; import java.util.List;
import org.apache.http.Consts;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpClientDemo2 {
//构造POST请求
public void test_post(){
//新建一个客户对象
CloseableHttpClient client = HttpClients.createDefault();
//新建一个HttpPost请求的对象 --并将uri传给这个对象
HttpPost post = new HttpPost("http://localhost:8080/test1312/Calc");
//使用NameValuePair 键值对 对参数进行打包
List<NameValuePair> list = new ArrayList<NameValuePair>
list.add(new BasicNameValuePair("a","1"));
list.add(new BasicNameValuePair("b","2"));
//4.对打包好的参数,使用UrlEncodedFormEntity工具类生成实体的类型数据
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,Consts.UTF_8);
//5.将含有请求参数的实体对象放到post请求中
post.setEntity(entity);
//6.新建一个响应对象来接收客户端执行post的结果
CloseableHttpResponse response = client.execute(post);
//7.从响应对象中提取需要的结果-->实际结果,与预期结果进行对比
if(response.getStatusLine().getStatusCode() == 200){
System.out.println(EntityUtils.toString(response.getEntity()));
}
}
}
//编写过程中如果有异常请选择shrow这个异常
//然后对这个类中的方法进行调用就可以实现了对接口的测试了
package com.day3.sample;
import java.io.IOException;
import org.apache.http.client.ClientProtocolException;
public class HttpClientDemo2Test {
public static void main(String[] args) throws ClientProtocolException, IOException {
HttpClientDemo2 demo2 = new HttpClientDemo2();
demo2.test_post();
}
}
/*
* Project: payment.wechat.api
*
* File Created at 2017年12月27日
*
* Copyright 2016 CMCC Corporation Limited.
* All rights reserved.
*
* This software is the confidential and proprietary information of
* ZYHY Company. ("Confidential Information"). You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license.
*/
package com.cmcc.hybj.payment.wechatapi.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Consts;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
/**
* @Type HttpClientDemo2.java
* @Desc //构造post请求
* @author gy
* @date 2017年12月27日 下午2:20:52
* @version
*/
public class HttpClientDemo2 {
//构造post请求
public void test_post() throws ClientProtocolException, IOException {
//新建一个客户对象
CloseableHttpClient client = HttpClients.createDefault();
//新建一个HttpPost请求的对象 --并将uri传给这个对象
HttpPost post = new HttpPost("http://localhost:8080/test1312/Calc");
//使用NameValuePair 键值对 对参数进行打包
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("a", "1"));
list.add(new BasicNameValuePair("b", "2"));
//4.对打包好的参数,使用UrlEncodedFormEntity工具类生成实体的类型数据
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, Consts.UTF_8);
//5.将含有请求参数的实体对象放到post请求中
post.setEntity(entity);
//6.新建一个响应对象来接收客户端执行post的结果
CloseableHttpResponse response = client.execute(post);
//7.从响应对象中提取需要的结果-->实际结果,与预期结果进行对比
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println(EntityUtils.toString(response.getEntity()));
}
}
public static void main(String[] args) throws ClientProtocolException, IOException {
HttpClientDemo2 demo2 = new HttpClientDemo2();
demo2.test_post();
}
}
/**
* Revision history
* -------------------------------------------------------------------------
*
* Date Author Note
* -------------------------------------------------------------------------
* 2017年12月27日 Administrator creat
*/
httpPost请求用java代码实现的方法的更多相关文章
- httpget请求测试用Java代码的实现方法
原文:http://www.cnblogs.com/johnson-yuan/p/6637906.html 1.首先要在eclipse中导入HttpClient的jar包. 2.新建类并写入一下代码: ...
- JAVA代码MD5加密方法
PwdEncoder.java 接口类 package com.common.security.encoder; /** * 密码加密接口 */ public interface PwdEncoder ...
- java代码-------继承的方法----重写还是重载
总结:是自己不听讲吧,不懂啊 感觉父类的方法,子类可以重载,只要参数个数不同,重载与返回值没有关系 重写绝对是可以的.但答案是只能重写啊 package com.s.x; public class T ...
- java代码---------常用的方法indexOf()和substring()方法的小结、主要是下标都是从0开始,很重要,错了就那个差远了啊
package com.s.x; //indexOf()方法从字符起始处的第一个位子开始的位置 //substring public class Wang { public static void m ...
- java代码啊==indexOf()方法返回字符第一次出现的位置
package com.s.x; public class Wang { public static void main(String[] args) { if ("woaini" ...
- Android开发之 当前日期String类型转date类型 java代码中实现方法
/** * 获取当前时间 * * @return */ public Date getDate(String str) { try { java.text.SimpleDateFormat forma ...
- java代码获知该方法被哪个类、哪个方法、在哪一行调用
public class TestMain { public static void main(String[] args){ hello(); } public static void hello( ...
- 【转】使用JavaParser获得Java代码中的类名、方法形参列表中的参数名以及统计总的文件个数与不能解析的文件个数
遍历目录查找Java文件: public static void ergodicDir(File dir, HashSet<String> argNameSet, HashSet<S ...
- 使用Java代码来创建view
使用Java代码来创建view 一.简介 需要了解的知识 二.方法 1)java代码创建view方法 * 1.先建view对象 View view= View.inflate(this, R.layo ...
随机推荐
- 产品上线后,出现BUG的处理流程
根据bug的大小,如果影响业务逻辑及用户提醒及时处理,如果只是一些状态.文案等等对业务无重大影响可以跟版本迭代走 很严重的bug必然要回滚,想都不要想赶紧去着手安排做. 检查回滚版本是否会丢失数据,如 ...
- 使用plv8+hashids生成短链接服务
有写过一个集成npm plv8 以及shortid生成短链接id服务,实际上我们可以集成触发器自动生成url对应的短链接地址,hashids也是一个不错的选择. 以下是一个别人写的一个博客实现可以参考 ...
- Layui 在新标签中打开页面 / 模拟点击菜单
原文:https://blog.csdn.net/sr_www/article/details/81394365 核心代码: //在新标签页中 打开页面 function newTab(url, ti ...
- 请写出css中选择器(元素选择器、类选择器、id选择器)的优先级顺序,和当各种选择器组合时,优先级的计算规则是什么?
id选择器>类选择器>元素选择器 规则:选择器的权重值表述为4个部分,用0,0,0,0表示. 通配符*的权重为0,0,0,0 标签选择器.伪元素选择器的权重为0,0,0,1 类选择器.属性 ...
- 浅谈BST(二叉查找树)
目录 BST的性质 BST的建立 BST的检索 BST的插入 BST求前驱/后继 BST的节点删除 复杂度 平衡树 BST的性质 树上每个节点上有个值,这个值叫关键码 每个节点的关键码大于其任意左侧子 ...
- nodejs网络编程
通过NodeJS,除了可以编写一些服务端程序来协助前端开发和测试外,还能够学习一些HTTP协议与Socket协议的相关知识,这些知识在优化前端性能和排查前端故障时说不定能派上用场.本章将介绍与之相关的 ...
- SpringData JPA实现增删改查
application.properties配置 一.创建实体类并自动生成数据库表 二.dao层继承JpaRepository 三.controller中增加操作 结果: 删除操作: 修改操作:
- 【Kubernetes学习之四】Kubernetes可视化管理
环境 centos 7 k8s-master 192.168.118.106 k8s-node01 192.168.118.107 k8s-node01 192.168.118.108 之前使用ku8 ...
- C语言学习系列笔记
1.小甲鱼 C语言教程系列
- Maven 教程(12)— Maven生命周期和插件
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79549695 除了坐标.依赖以及仓库之外,Maven的另外两个核心概念是生命周期 ...