Digest Auth 认证
本人写的Digest 认证一次通过,不需要按照常规的方式来
public void postMethod(String url, String query) {try {CredentialsProvider credsProvider = new BasicCredentialsProvider();credsProvider.setCredentials(new AuthScope("192.168.1.105", 9000),//请求地址 + 端口号new UsernamePasswordCredentials("admin", "admin"));// 用户名 + 密码 (用于验证)CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();HttpPost postMethod = new HttpPost(url);//请求详细地址(如:http://192.168.1.105:9000/MotorVehicles)StringEntity s = new StringEntity(query);//向后台传的json数据s.setContentEncoding("utf-8");//编码s.setContentType("application/json");//发送json数据需要设置contentTypepostMethod.setEntity(s);HttpResponse response = httpclient.execute(postMethod); //执行POST方法System.out.println("resCode = " + response.getStatusLine().getStatusCode()); //获取响应码System.out.println("result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容} catch (Exception e) {System.out.println("推送失败:"+e);}}
正常认证方式:
发送一个请求
GET /auth/basic/ HTTP/1.1HOST: target
服务器返回401响应头,要求输入用户凭据
HTTP/1.1 401 UnauthorizedWWW-Authenticate: Digest realm="Digest Encrypt",nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", opaque="0000000000000000",stale=false, algorithm=MD5, qop="auth"
输入凭据后再发送请求
GET /auth/digest/ HTTP/1.1Accept: */*Authorization: Digest username="LengWa", realm="Digest Encrypt", qop="auth", algorithm="MD5", uri="/auth/digest/", nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3", nc=00000001, cnonce="6092d3a53e37bb44b3a6e0159974108b", opaque="0000000000000000", response="652b2f336aeb085d8dd9d887848c3314"
服务端验证通过后返回数据
Digest Auth 认证相关推荐
- java httpClient Digest Auth 认证
技术交流QQ群 933925017 java httpClient Digest Auth 认证 因为项目需要,请求海康摄像头,进行抓图以及云台控制等功能, 海康有http协议,但是需要进行请求头认证 ...
- http请求digest auth认证
1.post请求 public static String postMethod(String url, String query,String host) throws IOException {S ...
- curl第六课 Http Digest Auth认证应用
项目 在安迅士摄像机网页上,配置系统选项,HTTP/RTSP Password Settings 中, 选择Encrypted only.获取设备的云台状态信息,使用的是摘要认证 例 ...
- Laravel 5.5 使用 Passport 实现 Auth 认证
最近在写一个前后端分离项目,本来想用 Jwt-auth + Dingo 开发的,但是略感笨重,于是想到了 Laravel 的 Passport 和 5.5 新出的 Api Resource.Larav ...
- django CBV装饰器 自定义django中间件 csrf跨站请求伪造 auth认证模块
CBV加装饰器 第一种 @method_decorator(装饰器) 加在get上 第二种 @method_decorator(login_auth,name='get') 加在类上 第三种 @met ...
- 4种Spring Boot 实现通用 Auth 认证方式
摘要: 文章介绍了 spring-boot 中实现通用 auth 的四种方式,包括传统 AOP.拦截器.参数解析器和过滤器,并提供了对应的实例代码,最后简单总结了下它们的执行顺序. 本文分享自华为云社 ...
- framework —— auth认证
ramework -- auth认证 1.目录结构 2.urls.py from django.conf.urls import url from django.contrib import admi ...
- Redis 远程连接( redis.conf 配置 auth 认证 重启 redis)
零.所用环境 1.本地 macOS 10.14.5 2.远程服务器 Ubuntu 16.04 一.修改redis.conf(bind 0.0.0.0 & auth 认证) 1.找到 redis ...
- 部暑nginx digest auth
1.使用docker生成容器镜像 1.1 国内源debain 换成国内源 mkdir nginx-digest cd nginx-digest cat > sources.list <&l ...
最新文章
- 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )
- 【版本更新】Aspose.Slides V17.10发布 | 支持免费下载
- Oracle--序列和触发器的使用
- 播放[.m3u8]链接解决方案
- VTK:图像投射用法实战
- P1141 01迷宫(BFS+记忆化)
- java集合性能_Java集合性能分析-疯狂Java讲义
- 关于mpvue音乐小程序github仓库设置私有的声明
- 收藏 | 12 种 NumpyPandas 高效技巧
- IP地址子网的划分机制
- svn拉取文件合并_四、Jenkins+SVN拉取文件下发
- [LeetCode] #44 Wildcard Matching
- 使用 Vue.js 和 Flask 实现全栈单页面应用
- DelphiARX 2000i 简介
- Spring中的循环依赖(单例)
- R语言使用strsplit函数按照指定的分隔符号进行数据拆分、分裂(split)、分割后的数据类型为列表
- 遗传算法和神经网络结合在税收中的运用
- Android Studio 升级到3.0后出现编译错误\.gradle\caches\transforms-1\files-1.1\*****-release.aar
- java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 		at
- 搭建嵌入式开源开发环境
热门文章
- 16进制怎么转换潘通_使用此免费应用程序查找Pantone颜色十六进制代码
- 2021-06-26 JAVA开发岗-民生银行笔试算法题
- Regularization
- 计算机无论采用何种方式接入网络,Internet的结构及接入方式
- 【算法】Marching Cubes
- 今天的爸爸急中生智的蜡笔小新
- Qt Creator release版本进行调试
- 小程序点击事件插入激励视频广告实例(小白应该也能懂)
- 多目标优化算法:基于非支配排序的蜣螂优化算法(Non-Dominated Sorting Dung beetle optimizer,NSDBO)
- spring security(一):springsecurity 功能