httpclient Yapi 模拟登录获取cookies_yapi 免登录-程序员宅基地

技术标签: 开发工具  

// https 忽略证书
		SSLContextBuilder builder = SSLContexts.custom();
		builder.loadTrustMaterial(null, new TrustStrategy() {
			@Override
			public boolean isTrusted(X509Certificate[] chain, String authType)
					throws CertificateException {
				return true;
			}
		});
		SSLContext sslContext = builder.build();
		SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
				sslContext, new X509HostnameVerifier() {
			@Override
			public void verify(String host, SSLSocket ssl)
					throws IOException {
			}

			@Override
			public void verify(String host, X509Certificate cert)
					throws SSLException {
			}

			@Override
			public void verify(String host, String[] cns,
							   String[] subjectAlts) throws SSLException {
			}

			@Override
			public boolean verify(String s, SSLSession sslSession) {
				return true;
			}
		});

		Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder
				.<ConnectionSocketFactory> create().register("https", sslsf)
				.build();

		PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
		CloseableHttpClient httpClient = HttpClients.custom()
				.setConnectionManager(cm).build();

		HttpPost httpPost = new HttpPost("https://yapixxx/api/user/login_by_ldap");
		httpPost.setHeader(new BasicHeader("Content-type", "application/x-www-form-urlencoded"));
		List<NameValuePair> list = new ArrayList<NameValuePair>();
		list.add(new BasicNameValuePair("email", "111"));
		list.add(new BasicNameValuePair("password", "12222"));
		httpPost.setEntity(new UrlEncodedFormEntity(list, "utf-8"));
		HttpResponse response = httpClient.execute(httpPost);

		Header[] headers = response.getHeaders("Set-Cookie");
		HashMap<String, String> cookies = new HashMap<String, String>(2);
		for (Header header : headers) {
			if (header.getValue().contains("_yapi_token")) {
				String token = header.getValue()
						.substring(header.getValue().indexOf("=") + 1, header.getValue().indexOf(';'));
				cookies.put("_yapi_token", token);
			} else if (header.getValue().contains("_yapi_uid")) {
				String uid = header.getValue()
						.substring(header.getValue().indexOf("=") + 1, header.getValue().indexOf(';'));
				cookies.put("_yapi_uid", uid);
			}
		}
		System.out.println("Cookies"+ JSON.toJSONString(cookies));

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wxb880114/article/details/104169258

智能推荐

Stable Diffusion web UI 文档_stable diffusion webui文档-程序员宅基地

文章浏览阅读383次,点赞5次,收藏6次。4. 以普通非管理员用户身份从 Windows 资源管理器运行“webui-user.bat”。(较新版本的Python不支持torch),勾选“Add Python to PATH”。3. 下载 stable-diffusion-webui 存储库,例如通过运行。为了让 Google 和其他搜索引擎抓取 wiki,这里有一个(不适用于人类)尝辄止,不再深入研究,那么很难做到真正的技术提升。须藤 dnf 安装 wget git python3。4. 检查“webui-user.sh”选项。

Vue - 监听数据的三种方法_vue监听数据变化-程序员宅基地

文章浏览阅读10w+次,点赞27次,收藏128次。举一个案例,我们要拼接一个fullname,因此要监听到文本框数据的改变,这样才能知道什么时候去拼接 出一个 fullname 案例结构如下:&amp;amp;amp;amp;lt;body&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;div id=&amp;amp;amp;quot;app&amp;amp;amp;quot;&amp;amp;amp;amp;gt; &amp;_vue监听数据变化

SDOI2012 集合-程序员宅基地

文章浏览阅读131次。SDOI2012 集合题目传送门题意小H在学习“集合与图论”的时候遇到了一个问题,他思考了很久依然无法很好完成这个问题。于是他只好来求助你了,给出n个点m条边的带权无向图(即每条无向边上都有一个权值),有3个集合A、B、C。一开始无向图中所有点都属于A集合,有如下9种操作:MoveA x:表示将第x个点从所在集合中删除,并加入至A集合。MoveB x:表示将第x个点从所在集合中..._sdoi2012集合

Oracle 10g RAC 维护工具完全详解_rac olsnodes-程序员宅基地

文章浏览阅读2.8k次。节点层:olsnodes网络层:oifcfg集群层:crsctl、ocrcheck、ocrdump、ocrconfig应用层:srvctl、onsctl、crs_stat一、olsnodes 的使用[root@rac22 ~]# olsnodes -hUsage: olsnodes [-n] [-p] [-i] [ | -l] [-g] [-v]_rac olsnodes

2024年腾讯云服务器地域节点怎么选择?地域是啥?-程序员宅基地

文章浏览阅读594次,点赞26次,收藏24次。腾讯云服务器地域有什么区别?怎么选择比较好?地域选择就近原则,距离地域越近网络延迟越低,速度越快。关于地域的选择还有很多因素,地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素,可用区还要考虑到高容灾、高可用因素,腾讯云服务器网txyfwq.com来详细说下什么云服务器地域?什么是可用区?以及地域和可用区选择要考虑到的几点因素,可以在腾讯云百科查看当前最新的优惠券和服务器报价单。

react项目中使用react-dnd实现列表的拖拽排序_react dnd 做一个可拖动列表-程序员宅基地

文章浏览阅读1.8w次,点赞6次,收藏27次。现在有一个新需求就是需要对一个列表,实现拖拽排序的功能,要实现的效果如下图:可以通过 react-dnd 或者 react-beautiful-dnd 两种方式实现,今天先讲下使用react-dnd是如何实现的,github地址:https://react-dnd.github.io/react-dnd/docs/api/dnd-provider1.先安装依赖npm ire..._react dnd 做一个可拖动列表

随便推点

万德高科携手航天科技AIRIOT打造智慧能碳管理平台, 助力碳达峰碳中和-程序员宅基地

文章浏览阅读1.4k次,点赞25次,收藏17次。万德高科以AIRIOT智慧系统搭建平台为基础,并融合自身实践,打造“智慧能碳管理平台”,赋能企业能碳数智化转型。

VSTO 实现word的多级列表功能_vsto怎么获得文章标题-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏9次。在使用vsto开发word插件的时候,需要实现word的多级列表的功能,如 ,然后再word中录制宏,看vba代码,然后再转换成c#代码。VBA 代码With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1) .NumberFormat = "%1" .TrailingCharacter = wdTrailingTab .NumberStyle = wdListN_vsto怎么获得文章标题

控件与组件-程序员宅基地

文章浏览阅读685次。控件(Control):控件是子窗体的代言词。子窗体:依托父窗体存在的窗体。如按钮、列表框、编辑框,组合框,对话框,文本域,标签,面(画)板等。组件:是一个模块(类),如Button类,Lable类。没有外形。控件:不仅是一个模块,而且还有“外型”。平常看到的除了UI对象之外的程序子窗体,都算得上控件 。全称:控制组件。UI对象:菜单、工具栏、快捷键。仅此三种UI:用户界面..._控件 组件

Python数据分析就业前景好不好?Python数据分析具体学什么?这里有一条高效的学习路径_python金融数据分析有前途吗(1)-程序员宅基地

文章浏览阅读923次,点赞15次,收藏12次。① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。

一步一步教你装kata-container_/usr/share/defaults/kata-containers/configuration--程序员宅基地

文章浏览阅读5.8k次。kata-container支持从自动安装,手动安装,脚本安装,snap安装以及源码编译安装等多种方式支持硬件为:Intel VT-x 技术ARM Hyp 模式IBM Power 系统IBM Z mainframesLinux发行版支持矩阵如下:Linux 发行版 Versions CentOS 7 Debian 9 Fedora ..._/usr/share/defaults/kata-containers/configuration-qemu.toml: file /usr/share

576页30万字智慧化工园区(一期)总体设计方案(公开)_化工园区信息化系统设计方案包括哪些内容-程序员宅基地

文章浏览阅读511次。目录1 概述 1.1 港区概况 1.2 项目背景 1.3 项目建设必要性 1.3.1 智慧园区建设是顺应时代发展潮流的战略选择 1.3.2 智慧园区建设是提升园区安全环保水平的本质要求 1.3.3 智慧园区建设是促进园区转型发展的内在需要 1.4 项目编制依据 1.4.1 依据文件 1.4.2 法律法规 1.4.3 标准规范 2 现状分析 2.1 国外现状分析 2.1.1 国外发展现状 2.1.2 经验启示 2.2 国内发展分析 2.2.1 特色园区情况 2.2.2 国内政策要求 2.3 园区建设现状分析 _化工园区信息化系统设计方案包括哪些内容

推荐文章

热门文章

相关标签