httpclient-----------post
2021/8/2 6:05:51
本文主要是介绍httpclient-----------post,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20170516</version> </dependency> -------------------
[ { "description":"这是我们的第一个post的mock例子", "request":{ "uri":"/post/with/Cookies", "method":"post", "headers":{ "content-type":"application/json" }, "cookies":{ "login":"true" }, "json":{ "name":"hun", "age":"18" } }, "response":{ "status":200, "json": { "hun": "success", "status": "1" } } }, { "description":"这是一个会返回cookies的数据", "request":{ "uri":"/getcookies", "method":"get" }, "response":{ "cookies":{ "login":"true" }, "text":"恭喜你获取cookies信息正确", "headers":{"Content-Type":"text/html;charset=gbk"} } } ] ---------------------------
test.url=http://localhost:8887 test.get.with.cookies=/get/with/cookies getCookies.uri=/getcookies login=/login test.post.with.cookies=/post/with/Cookies ----------------------------
package com.course.cookie; import org.apache.http.HttpResponse; import org.apache.http.client.CookieStore; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.json.JSONObject; import org.testng.Assert; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.io.IOException; import java.util.List; import java.util.Locale; import java.util.ResourceBundle; public class MyCookieForPost { private String url; private ResourceBundle bundle; private CookieStore store; @BeforeTest public void beforeTest(){ bundle=ResourceBundle.getBundle("application", Locale.CHINA); url=bundle.getString("test.url"); } @Test public void testGetCookies() throws IOException { String result; //从配置文件中拼接测试的url String uri=bundle.getString("getCookies.uri"); String testUrl=this.url+uri; //测试逻辑代码书写 HttpGet get=new HttpGet(testUrl); DefaultHttpClient client=new DefaultHttpClient(); HttpResponse response=client.execute(get); result= EntityUtils.toString(response.getEntity(),"utf-8"); System.out.println(result); //获取cookies信息 this.store=client.getCookieStore(); List<org.apache.http.cookie.Cookie> cookieList=store.getCookies(); for (org.apache.http.cookie.Cookie cookie:cookieList){ String name=cookie.getName(); String value=cookie.getValue(); System.out.println("cookie name="+name+"cookie value="+value); } System.out.println("cookieList:"+cookieList); } @Test(dependsOnMethods = {"testGetCookies"}) public void testPostMethod() throws IOException { //String result; //从配置文件中拼接测试的url String uri = bundle.getString("test.post.with.cookies"); String testUrl = this.url + uri; //测试逻辑代码书写 //1.声明一个client对象,用来进行方法的执行 DefaultHttpClient client = new DefaultHttpClient(); //2.声明一个方法,这个方法就是post方法 HttpPost post = new HttpPost(testUrl); //3.添加参数 JSONObject param = new JSONObject(); param.put("name", "hun"); param.put("age", "18"); //4.设置请求头信息 设置header post.setHeader("content-type","application/json"); // post.setHeader("content-type", "application/json"); //将参数信息添加到方法中 StringEntity entity = new StringEntity(param.toString(),"utf-8"); post.setEntity(entity); //5.声明一个对象来进行响应结果的存储 String result; //6.设置cookies信息 client.setCookieStore(this.store); //执行post方法 HttpResponse response = client.execute(post); //获取响应结果 result = EntityUtils.toString(response.getEntity(), "utf-8"); System.out.println(result); //处理结果,就是判断返回结果是否符合预期 //将返回的响应结果字符串转化为json对象 JSONObject resultJson = new JSONObject(result); System.out.println("测试resultJSOn"+resultJson); //获取到结果值 String success = (String)resultJson.get("hun"); String status=(String)resultJson.get("status"); //具体的判断返回结果的值 Assert.assertEquals("success", success); Assert.assertEquals("1",status); } }
这篇关于httpclient-----------post的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享