Android学习记录(十二) http之base/digest鉴权。

2023-05-16

说下背景,我们实现的http的文件下载是基于webdav协议的。

这个肯定是需要鉴权的~

android 5.1不再推荐使用apache的client,今天努力想尝试一下用httpurlconnection替换一下。

大家可以到stackoverflow搜索一下,目前httpurlconnection还不支持digest鉴权,只支持base的鉴权。


下面是httpurlconnection base的鉴权代码:


HttpURLConnection conn=(HttpURLConnection)newurl.openConnection();
setJellyBeanAuth(conn);  

private void setJellyBeanAuth(HttpURLConnection httpConn) {
    byte[] auth = (LoginManager
            .getCurrentUsername() + ":" + LoginManager
            .getCurrentPassword()).getBytes();
    String basic = Base64.encodeToString(auth, Base64.NO_WRAP);
    httpConn.setRequestProperty("Authorization", "Basic " + basic);
}  


  

然后偶们需要的是digest鉴权,所以还的老老实实使用httpclient  

digest的鉴权代码如下:  

HttpContext context = new BasicHttpContext();

context.setAttribute(ClientContext.CREDS_PROVIDER,
        new BasicCredentialsProvider());

CredentialsProvider provider = (CredentialsProvider) context
        .getAttribute(ClientContext.CREDS_PROVIDER);

provider.setCredentials(
        new AuthScope(targetHost.getHostName(), targetHost
                .getPort()),
        new UsernamePasswordCredentials(LoginManager
                .getCurrentUsername(), LoginManager
                .getCurrentPassword()));


关于httpurlconnection不支持digest的可以看这篇文章:  

http://stackoverflow.com/questions/32689185/digest-authentication-in-android-using-httpurlconnection
  


  

如果有大牛看到这篇blog,有好的开源http框架,欢迎推荐啊~  


  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android学习记录(十二) http之base/digest鉴权。 的相关文章

  • Struts Action的execute方法不执行问题

    学习了SpringMVC xff0c 又想去探究一下Struts的奥秘 xff0c 是否和SpringMVC有什么异同之处 xff1f 于是 xff0c 动手编写了一个非常简单的demo程序 xff0c 但是在写的过程中 xff0c 发现页
  • JPress开源框架的安装过程 Maven工程导入MyEclipse并运行

    1 点击Jpress下载链接 https github com JpressProjects jpress 下载源码压缩包 xff0c 解压 2 复制解压后的工程到MyEclipse的工作空间中 3 点击MyEclipse gt File
  • Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试

    概述 Neutron 的桥的连接从Juno开始使用了ovs peer代替veth pair作为默认的网桥连接方式 xff0c 并宣称有性能方面的提升 xff08 commit xff09 同时在配置文件 xff08 etc neutron
  • JPress安装

    安装完成后数据库中就会生成数据表
  • jQuery LigerUI 使用教程

    首页引入样式文件和js文件 xff1a lt link href 61 34 css ligerui all css 34 rel 61 34 stylesheet 34 type 61 34 text css 34 gt lt jquer
  • 依然迷茫的2016

    2016 xff0c 虽然毕业半年了 xff0c 但自己依然显得稚嫩 xff0c 没有褪去学生时代的幼稚 刚跨完年的我居然马上被骗子盯上了 xff0c 真是非常地不幸 xff0c 俗话说 xff0c 开门红 xff0c 我却倒霉来个开门霉
  • myeclipse部署tomcat问题

    MyEclipse部署tomcat时出现 xff1a Deployment is out of date due to changes in the underlying project contents You 39 ll need to
  • 关于逻辑分区和主分区的困惑

    原文链接 xff1a http www chiphell com thread 556678 1 1 html 问题 xff1a 我新配的机器 xff0c ssd 128g完全用于装系统 xff0c hdd用于存储 xff0c 我是在装完系
  • opencv实现几幅图像拼接成一整幅大图

    开始尝试merge函数 xff0c 具体如下 xff1a 定义四个矩阵A B C D 得到矩阵combine span style font size 18px include lt iostream gt include lt core
  • Python安装时import matplotlib.pyplot as plt报错

    安装matplotlib的时候可能会出现输入import matplotlib pyplot as plt出现报错的现象 xff0c 如下图所示 xff1a gt gt gt import matplotlib gt gt gt impor
  • 回文数和回文素数

    34 回文数 34 是一种数字 如 xff1a 98789 这个数字正读是98789 倒读也是98789 正读倒读一样 xff0c 所以这个数字就是回文数 1千以内 在自然数中 xff0c 最小的回文数是0 xff0c 其次是1 2 3 4
  • pragma pack对齐方式详细介绍

    为了加快读写数据的速度 xff0c 编译器采用数据对齐的方式来为每一个结构体分配空间 写在开头 本文有自己的原创也有转载的博文 xff0c 转载的部分一一列出来 xff0c 可能不全请见谅这里这里这里这里等等 更详细的解说 xff1a 在用
  • Qt学习笔记——打开并显示图片

    使用控件QLabel mainwindow h ifndef MAINWINDOW H define MAINWINDOW H include lt QMainWindow gt include lt QFileDialog gt incl
  • 可调恒流驱动LED电路分析

    https www icxbk com article detail aid 61 884 常规使用的pwm调亮度不仅会导致频闪 xff0c 而且在长时间使用的时候 xff0c 有损坏led的风险 xff0c 所以这次设计了一个恒流调亮度电
  • 如何在雷电模拟器里使用YiLu代理的动态ip?

    1在易路 程序 页面里随意添加一个应用 xff0c 请不要添加 雷电 到YiLu程序里 xff1b 2 YiLu设置 xff1a 点击YiLu 设置 页面 xff1b 选择 YiLu便携代理引擎 xff1b 选择 仅代理YiLu程序选项卡中
  • Freeman链码,差分码,归一化链码,归一化差分码

    Freeman链码是指用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法 xff0c 常被用来在图像处理 计算机图形学 模式识别等领域中表示曲线和区域边界 它是一种边界的编码表示法 xff0c 用边界方向作为编码依据 xff0c 为简
  • Matlab关联m文件与m文件关联设置

    MATLAB安装后经常出现m文件不能关联到matlab打开 xff0c 很烦恼 网上有一些设置教程 xff0c 比如 xff1a 链接一 按照链接方式一方式二设置后出现报错 修改注册表亦没用 下面链接 链接二 链接三 链接四 都没有效果 代
  • 图像处理形态学椭圆形模板结构元素的设计与实现

    在图像处理中 xff0c 经常要用到形态学操作 xff0c 形态学操作中的结构元素有很多 xff0c 如点结构 十字架结构 圆结构 矩形结构 椭圆形结构等等 本文将介绍椭圆形结构的实现 主要结合OpenCV实现 具体如下 xff1a inc
  • 3维空间旋转3维空间矩阵旋转及旋转变换

    本文将实现三维空间中的旋转和平移变换 xff0c 即将三维空间中的一个向量 或者一个空间图形 移动到另一个位置 如下图所示 xff1a 如上图所示 xff0c 由矢量一移动到矢量二 三维空间中的移动可以分为旋转和平移 设矢量一在坐标位置 X
  • 回归方程推导

随机推荐

  • Mac终端代理设置

    title Mac终端代理设置 tags mac 终端设置代理 打开终端执行 export http proxy 61 http 127 0 0 1 1087 export https proxy 61 http 127 0 0 1 108
  • Unity3D游戏作品大盘点

    原文链接 xff1a http www unitymanual com 404 html 经典重现 新仙剑OL 新仙剑OL 采用跨平台Unity3D引擎 xff0c 耗资数千万 xff0c 历时三年多 xff0c 由台湾大宇正版授权 xff
  • IAR编译器的ICF链接脚本

    测试代码如下 xff1a task c span class token macro property span class token directive keyword pragma span default variable attr
  • 2020-10-24

    PendSV中断控制器地址 NVIC INT CTRL EQU 0xE000Ed04 触发PendSV NVIC PENDSV SET EQU 0x10000000 PendSV优先级控制地址 NVIC SYSPRI2 EQU 0xE000
  • Linux下如何配置Vlan

    VLAN是虚拟局域网的缩写 一个物理交换机上可以共存多个VLAN xff0c 这些交换机通过Linux软件配置 xff0c 而不是通过硬件接口 xff08 您仍然需要配置实际的硬件交换机 xff09 VLAN作为名称建议一次组合多个LAN
  • 附加项-linux下ssh的config文件讲解-闫刚

    在 ssh 下创建 config文件 xff0c 可以添加多个账号 xff0c 减少认证的问题 并以如下格式编辑配置文件 vi config HostName xff1a 是目标主机的主机名 xff0c 也就是平时我们使用ssh后面跟的地址
  • 第一章 第九节 如何Doxygen为代码生成html文档-闫刚

    Doxygen是一款文档生成工具 xff0c 它可以从代码中提取出相应的文档 xff0c 并组织 xff0c 输出成各种漂亮的文档 xff08 如HTML xff0c PDF xff0c RTF等 xff09 doxygen让你变成一位有品
  • 第二章 第二节 px4的uORB工作原理分析 闫刚

    px4中的uorb是px4非常核心的数据通信机制 xff0c 所有线程的通信都是靠uorb完成 xff0c 用过的人可能 xff0c 仅仅知道在想要获取orb数据的时候 xff0c 先进行订阅 xff0c 在发送orb消息之前 xff0c
  • 闫刚 qgroundcontrol地面站通信流代码架构

    qgroundcontrol开发者文档中说明了qgc中的各个链路流向在文档中说明的很清楚 xff0c 下面配套源代码进行讲解整个qgc地面站的数据流向过程 qgroundcontrol通信 在 https dev qgroundcontro
  • 闫刚 linux平台实现IMU的DriverFramework

    文章目录 介绍资源用户态spi包1 spidev的设备节点spidev0 3表示spi0的chip select3 内核态设备树注册spidev设备 介绍 讲解linux的spi驱动架构 包括用户空间和内核空间如何配合使用spi驱动 通过p
  • 闫刚 stm32的usb的hal软件架构原理讲解

    资源 stm32 usb cubemx md 闫刚 stm32的usb的hal软件架构原理讲解 一 usb基础 stm32的usb也是很多公司都在使用的接口 xff0c usb全速可以达到12M s 作为虚拟串口接口 xff0c 还是不错的
  • 闫刚 px4架构的cmake移植到linux上

    文章目录 px4架构的cmake移植到linux上仓库地址 xff1a 图一 PX4的源码cmake架构图二 px4添加一个驱动模块的CMakeLists txt文件图三 openSTM的源码架构图四 openSTM中添加子模块CMakeL
  • 闫刚 nuttx workqueue实现原理

    文章目录 资源工作队列实现添加工作对象工作队列执行进程 使用注意 资源 nuttx wqueue md 工作队列实现 优点 xff1a 最短时间调度 缺点 xff1a 工作队列执行完后 xff0c 需要重新创建 添加工作对象 span cl
  • 闫刚 px4的gps驱动原理

    文章目录 资源1 rcS启动2 gps status内容 资源 px4 gps md 标题 xff1a 闫刚 px4的gps驱动原理 1 rcS启动 固件版本 xff1a V1 8 0 gps start 2 gps status内容 IN
  • 闫刚 px4_uavcan_dsdl的原理

    文章目录 资源简介1 cannode构建分析1 1 找到uavcan的单板1 2 分析一下UAVCAN下的CAMKE1 3 1 查看dsdl下的文件1 3 2 查看输出路径下的include dsdlc generated 2 我们添加自己
  • 常用的 Stress / Performance 测试工具(Linux环境)

    压力测试 Stress 要如何在 Linux 下針對不同的 I O 與系統做壓力測試 可以參考下面幾種方式 SysBench http benjr tw 8715 Linux 下常見的壓力測試工具不多 而且通常很分散 要不然就是協力廠商所開
  • 关于四旋翼往某个方向飘的问题

    经过测试 xff0c 在飞控没有gps定位和其他定位传感器的辅助下 xff0c 漂移是肯定存在的 因为在水平校准时 xff1b 1 xff09 肯定存在肉眼观察不到的水平问题 xff1b 2 xff09 再加上多旋翼装配不对称 xff0c
  • 浅谈进程和线程的个人理解

    进程和线程 首先什么是进程 xff1f 进程是操作系统动态执行的基本单元 xff0c 进程就可以说是一段程序的执行过程 xff0c 当我们有很多程序同时执行时 xff0c 就有了一种类似于排队的模式 xff0c 就如说我们去银行柜台取钱 x
  • 从零开始学OpenCV(一)——OpenCV的安装

    文章目录 前置条件一 OpenCV的安装总结 前置条件 提示 xff1a 本教程的安装环境如下 xff1a 操作系统 xff1a windows10 VisualStudio版本 xff1a 2017 提示 xff1a 以下是本篇文章正文内
  • Android学习记录(十二) http之base/digest鉴权。

    说下背景 xff0c 我们实现的http的文件下载是基于webdav协议的 这个肯定是需要鉴权的 xff5e android 5 1不再推荐使用apache的client 今天努力想尝试一下用httpurlconnection替换一下 大家