
https
文章平均质量分 76
锐湃
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决
摘要:文章分析了在文件备份、传输和解压过程中出现"文件损坏"错误的原因。问题出现在下载大文件时采用固定字节数组读取方式(10KB),导致可能未完整读取文件。正确的解决方法是采用更小的512字节缓冲区,并正确处理文件末尾的剩余数据。作者通过优化后的代码实现了稳定传输,强调处理字节流时应避免一次性读取过多数据,并确保完整读取文件内容。该案例对处理文件传输和流操作具有参考价值。转载 2025-08-02 16:34:21 · 46 阅读 · 0 评论 -
Retrofit上传/下载文件
本文介绍了使用Retrofit 2.0.2实现文件上传和下载的方法。文件上传通过@Multipart注解和MultipartBody.Part封装文件数据;文件下载使用@GET请求,并通过@Streaming注解避免大文件内存溢出问题。作者还指出默认实现无法显示进度,并预告将在后续文章中介绍如何扩展进度监听功能。文章提供了具体的接口定义和实现代码示例,包括文件上传的表单封装和下载文件的异步保存处理。转载 2025-08-02 15:33:49 · 101 阅读 · 0 评论 -
Retrofit(重构——下载大文件)
Retrofit下载大文件转载 2025-08-02 15:27:01 · 32 阅读 · 0 评论 -
手机上对https请求进行抓包
《Android手机HTTPS抓包实践指南》详细介绍了HTTPS抓包的方法与技巧。文章指出,随着HTTPS协议普及,传统HTTP抓包方式已失效。作者以Fiddler为例,演示了如何配置电脑和手机端实现HTTPS抓包,包括安装证书、设置代理等关键步骤。针对Android 7.0及以上系统的安全限制,文章特别说明了需在应用中添加网络安全配置才能成功抓包,并解释了浏览器无需额外配置的原因。最后预告了下篇将探讨HTTPS抓包原理。本文为开发者提供了实用的HTTPS抓包解决方案,同时强调了安全注意事项。转载 2025-06-12 19:55:56 · 317 阅读 · 0 评论 -
Protobuf 与 JSON 在 Android 平台上的比较
在 Android 开发中,数据通信是一个重要的部分。选择合适的数据传输格式可以显著影响应用的性能和效率。本文将深入比较 Protobuf 和 JSON 两种常见的数据通信协议,分析它们在 Android 上的优缺点。转载 2024-11-21 20:46:34 · 289 阅读 · 0 评论 -
OkHttp 访问 https 的怪问题
广东分享Android、iOS、Python、Vue等技术资讯、学习笔记,成为有梦想的全栈工程师,欢迎关注。158篇原创内容公众号👋。转载 2024-06-06 16:13:11 · 863 阅读 · 0 评论 -
使用NanoHttpd在app内搭建https server(二)
知道了概念后,那自签证书的概念就是我们自己充当这个CA机构给自己颁发一个证书,然后想办法让客户端信任这个证书(一般的默认做法是系统会有一个受信任的证书列表,其中就会有存放一些CA机构的根证书),并且证书里面包含了我们的公钥,客户端使用这个公钥进行数据加密,再传输数据,服务端接收并用私钥解开,从而完成整个加解密的通讯过程。需要注意的是,项目中的raw文件需要你自己生成证书,因为证书是有密码的,我自己证书的密码在代码中用******标记了,所以拿到我的keystore.bks也没用。转载 2023-11-15 16:46:40 · 571 阅读 · 0 评论 -
使用NanoHttpd在app内搭建http server(一)
想没想过在自己的Android的 app里内嵌一个http server服务端,这样咱们就可以从PC和手机上的浏览器遥控app了。接下来就使用一个GitHub的开源库Nanohttpd在app内搭建一个小型http的server。上面的IP是我手机流量下的IP地址:如果是连了WiFi的写上WiFi的IP地址也行,端口port自定义就行。依赖库的NanoHTTPD.java,具体对外提供资源访问的代码在重写的serve方法中,这样在android中,一个简单的http server就搭建好了。转载 2023-11-15 16:32:42 · 839 阅读 · 2 评论 -
本地服务器NanoHttpd配置Https双向认证
所谓数字证书,是一种用于电脑的身份识别机制。服务端给客户端发送数据时,需要将服务端的证书发给客户端验证,验证通过才运行发送数据,同样,客户端请求服务器数据时,也需要将自己的证书发给服务端验证,通过才允许执行请求。crt【证书 Certificate】是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息。p12 【是PKCS12的缩写】同样是一个存储私钥的证书库,由.jks文件导出的,用户在PC平台安装,用于标示用户的身份。转载 2023-11-15 16:21:11 · 669 阅读 · 0 评论 -
App线上网络问题优化策略
在我们App开发过程中,网络是必不可少的,几乎很难想到有哪些app是不需要网络传输的,所以网络问题一般都是线下难以复现,一旦到了用户手里就会碰到很多疑难杂症,所以对于网络的监控是必不可少的,针对用户常见的问题,我们在实际的项目中也需要添加优化策略。转载 2023-11-14 14:38:32 · 307 阅读 · 0 评论 -
防御中间人攻击:Android证书锁定
中间人攻击(MITM)是一种狡猾且危险的网络威胁,可能严重破坏用户的在线安全和隐私。在这种攻击中,未经授权的第三方截取并窃听两个相信彼此直接连接的各方之间的通信,通常是用户和受信任的服务器或网站。攻击者潜入通信流的中心位置,因此得名“中间人”。证书锁定是一种安全实践,限制应用程序从服务器接受的可信数字证书的数量,以建立安全连接。与仅依赖公钥基础设施(PKI)范 paradigm 不同,PKI中有大量证书颁发机构(CA)发行证书,证书锁定要求应用程序仅信任与受信任机构相关联的某些证书或公钥。转载 2023-10-12 19:14:16 · 784 阅读 · 0 评论 -
jira搜索search issue条目rest实用脚本
jira搜索search issue条目rest实用脚本原创 2023-09-11 17:30:00 · 597 阅读 · 0 评论 -
http文件下载 response响应ContentType与a标签download属性
application/x-msdownload: 网上很多文件说用此Content-Type进行文件下载,虽然也能实现其功能,但由下表可知,此类型对应着.ddl 和 .exe 文件。通过编程方式下载文件,往往需要在response的header中设置Content-Disposition来指定下载文件的名称,如下代码所示。application/octet-stream: 是比较常用的类型,可用于任何类型的文件下载。❗❗❗这种a标签配合download属性下载静态资源的方式,只适用于同源静态资源。转载 2023-09-07 14:00:49 · 5170 阅读 · 0 评论 -
一文读懂 NanoHttpd 微型服务器原理
其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;NanoHttpd的使用,使 “本地代理方式播放Android Sdcard中的m3u8视频” Demo实现变得很简单,这里不做具体介绍,有兴趣的朋友可以自行下载了解。建议: 对于Http request、response 数据组织形式不是很了解的同学,建议自己了解后再阅读NanoHTTPD源码。NanoHTTPD是一个轻量级的、为嵌入式设备应用设计的HTTP服务器,遵循修订后的BSD许可协议。从服务器启动开始学习…转载 2023-09-06 16:34:21 · 2175 阅读 · 0 评论 -
NanoHttpd学习(一)
NanoHttpd只在Android上面运行即可,在其他平台还是Springboot吧现有的安卓上面的web服务端软件还是比较少的,SpringBoot又移植不过去(有人移植成功的话,希望分享下哦),所以暂时可用的就是NanoHttpd和AndServer,两个都试了下,AndServer配置太麻烦了,虽然有类SpringBoot语法,但搞来搞去的,发现这玩意版本好几个,示例和代码还有差别,最终没搞成功,就放弃了,最终选择NanoHttpd。一、NanoHttpd是什么?转载 2023-09-06 16:12:14 · 519 阅读 · 0 评论 -
【NanoHTTPD】Android,使用NanoHTTPD搭建服务器,接受Http请求,最佳实践
NanoHTTPD//声明服务端 端口//TODO 单例模式,获取实例对象,并传入当前机器IP@Override//TODO 解决客户端请求参数携带中文,出现中文乱码问题//获取请求头数据//获取传参参数try {//TODO 写你的业务逻辑.....//响应客户端1、如果想要APP保持服务持久可用,又不被系统限制网络,,可以进入系统设置中设置“电池不优化”。转载 2023-09-06 16:06:28 · 2071 阅读 · 2 评论 -
jira接口(openapi)应用
一、jira 概念介绍项目(project)一个jira服务可以给不同团队使用,每个团队可以使用自己的项目,任务、bug等都归属在项目下。问题(issue)用户故事、bug、任务、测试用例等都是一个issue,只是issue的类型不同。字段(fields)一个issue包含若干字段,系统字段、自定义字段。系统字段:issuetype(问题类型)、summary(概要)、resolutiondate(解决时间)、status(状态)、components(模块)、assignee(经办人)等自转载 2023-08-18 16:56:46 · 2486 阅读 · 0 评论 -
HTTP协议的HEAD请求方法
它与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。一个HEAD请求的响应中,HTTP头中包含的元信息应该和一个GET请求的响应消息相同。一个HEAD请求的响应可被缓存,也就是说,响应中的信息可能用来更新之前缓存的实体。如果当前实体跟缓存实体的阈值不同(可通过Content-Length、Content-MD5、ETag或Last-Modified的变化来表明),那么这个缓存就被视为过期了。200 OK:客户端请求成功。转载 2023-08-04 11:17:04 · 434 阅读 · 0 评论 -
优化篇|网络预连接 预加载
通过 http(s) 的连接复用机制,我们可以考虑使用预连接来优化 APP 中某些场景的网络请求速度,这需要我们根据实际业务场景以及服务器压力来判断是否进行预连接。另外我们可以适当调大连接池的容量和超时时间,由于连接是双向的,即使客户端把 Connection 一直保留,服务端也会根据实际连接数量和时长来自动关闭连接的,所以调大连接池一般不会增大服务器压力。转载 2023-08-04 09:46:01 · 398 阅读 · 0 评论 -
javax.net.ssl.SSLHandshakeException: Chain validation failed
也可以在终端网页上访问 baidu.com 试试,网页会弹出如下截图,当前了,Android版本不同弹出来的内容和形式也不同,但都是说『证书日期无效』在项目中使用RxJava,OkHttp和Retrofit封装的网络请求,再测试时一切正常,但修改为https的线上正式服务器后就报了异常;版权声明:本文为CSDN博主「mwthe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1、首先查看是否打开网络同步,如果开着,时间依旧没更新,那就考虑ntp异常。转载 2023-08-02 14:41:40 · 1121 阅读 · 0 评论 -
通过http判断网络是否可用
通过http请求判断网络是否可用原创 2023-05-24 16:22:09 · 204 阅读 · 0 评论 -
一篇搞懂TCP、HTTP、Socket、Socket连接池
如果想要使传输的数据有意义,则必须使用到应用层协议比如Http、Mqtt、Dubbo等。基于TCP协议上自定义自己的应用层的协议需要解决的几个问题:心跳包格式的定义及处理报文头的定义,就是你发送数据的时候需要先发送报文头,报文里面能解析出你将要发送的数据长度你发送数据包的格式,是json的还是其他序列化的方式下面我们就一起来定义自己的协议,并编写服务的和客户端进行调用:定义报文头格式:length:000000000xxxx;xxxx代表数据的长度,总长度20,举例子不严谨。转载 2023-04-21 10:39:17 · 292 阅读 · 0 评论 -
傻傻分不清的TCP keepalive和HTTP keepalive
A——FromTCP keepalive是TCP的保活定时器。通俗地说,就是TCP有一个定时任务做倒计时,超时后会触发任务,内容是发送一个探测报文给对端,用来判断对端是否存活。(想到一个桥段:“如果2小时后没等到我的消息,你们就快跑”)转载 2023-02-28 19:25:00 · 461 阅读 · 0 评论 -
移动端防抓包实践
1.1 项目背景通讯安全是App安全检测过程中非常重要的一项针对该项的主要检测手段就是使用中间人代理机制对网络传输数据进行抓包、拦截和篡改,以检验App在核心链路上是否有安全漏洞。保证数据安全通过charles等工具可以对app的网络请求进行抓包,这样这些信息就会被清除的提取出来,会被不法分子进行利用。不想被竞争对手逆向抓包不想自身App的数据被别人轻而易举地抓包获取到,从而进行类似业务或数据分析、爬虫或网络攻击等破坏性行为。1.2 思考问题。转载 2022-12-29 10:36:51 · 689 阅读 · 0 评论 -
【Ktor挖坑日记】还在用Retrofit网络请求吗?试试Ktor吧!
复制代码此处给猫咪定义名字、描述和图片url,需要注意的是需要加上注解,这是使用的前提条件,而需要正常使用,需要在app模块的加上以下pluginplugins {...id 'org.jetbrains.kotlin.plugin.serialization' version "1.7.10" // 跟Kotlin版本一致}复制代码是不是很简单捏!看起来好像很多,其实核心用法就三个实例HttpClient在HttpClient中配置插件调用get或者post方法。转载 2022-12-21 11:07:49 · 662 阅读 · 0 评论 -
抓包从未如此简单
①、 拦截APP的OKHTTP请求(添加拦截器处理抓包请求,使用ASM字节码插装技术实现)写一个Interceptor拦截器,获取请求及响应的数据,转化为需要的数据结构if (!}= null) "?}......以上为部分代码展示}复制代码有了拦截器就可以通过字节码插桩技术在编译期自动为OKHTTP添加拦截器了,避免了使用者自己添加拦截器的操作mv?.let {")")", false))Z", true)}复制代码②、 数据保存到本地数据库(room)...转载 2022-08-25 19:07:50 · 360 阅读 · 0 评论 -
X5WebView使用
项目中经常会用到WebView,Android原生的WebView使用会有点不太好用,在此介绍一个比较好用的X5WebView。转载 2022-08-10 10:03:25 · 993 阅读 · 0 评论 -
WebView的优化与常见问题解决方案
但是这么做有一个很大的坑,就是每次销毁的时候它的Url并没有清除,我们又不能使用webView的destory方法,那么我们第一个启动Web并返回是正常的,第二次再启动再返回,此时使用的是缓存WebView,是无法一次返回的。那么这样的效果还是有问题,之前我们还需要按2次返回键才能返回Web页面,而现在我们加载了一个空视图之后,现在在Web的栈顶,按一次返回键会返回一个空白的页面,再按返回才能返回,还是需要二次返回。这么做可以大大的提升页面的加载速度,特别适用于一些固定样式的页面,如文章的详情之类。...转载 2022-08-10 10:00:15 · 1195 阅读 · 0 评论 -
全网最强的 HTTP 协议讲解
超文本传输协议(,HTTP)是一个简单的请求-响应协议,它是基于 TCP 协议的应用层传输协议。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。HTTP 是一种无状态 (stateless) 协议, HTTP 协议本身不会对发送过的请求和响应的通信状态进行持久化处理。这样做的目的是为了保持 HTTP 协议的简单性,从而能够快速处理大量的事务,提高效率。HTTP 请求体是请求数据时发送给服务器的数据,毕竟向服务器拿数据,先要表明怎么要,以及要什么!HTTP 请求体由:请求行 、请求头、请求体组转载 2022-06-28 10:55:25 · 168 阅读 · 0 评论 -
Retrofit2.0 添加Header的方法总结
一、使用注解1. 添加单个header2. 添加多个header3. 动态添加header4. 动态添加多个header1. Post添加单个header2.post添加固定的多个header 二、如果要添加全局header,则需要在代码中添加header ————————————————版权声明:本文为CSDN博主「天兰之珠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.c转载 2022-06-09 13:28:51 · 6604 阅读 · 0 评论 -
Retrofit2 详解和使用(一)
一、概述1、什么是retrofit retrofit是现在比较流行的网络请求框架,可以理解为okhttp的加强版,底层封装了Okhttp。准确来说,Retrofit是一个RESTful的http网络请求框架的封装。因为网络请求工作本质上是由okhttp来完成,而Retrofit负责网络请求接口的封装。本质过程:App应用程序通过Retrofit请求网络,实质上是使用Retrofit接口层封装请求参数、Header、Url等信息,之后由okhttp来完成后续的请求工作。在服务端返回数据后...转载 2022-05-17 22:57:46 · 1947 阅读 · 1 评论 -
Fiddler应用——Fiddler过滤功能
Fiddler的过滤功能在Fiddler右面板处,点击Filters显示如图所示面板。如图所示,Fiddler的过滤面板主要分为几个部分:1、Use Filters:是否启用过滤器2、Actions:过滤设置生效3、Hosts:Hosts过滤4、Client Process:客户端进程过滤5、Request Headers:请求header过滤6、Breakpoints:断点过滤7、Response Status Code:响应状态码过滤8、Response Type转载 2022-05-17 21:18:12 · 19592 阅读 · 0 评论 -
如何导出Fiddler捕捉到的json
在对应条目上右键→【save】→【……and open as local File】转自:如何导出Fiddler捕捉到的json_御风之翼_唤星者的博客-CSDN博客_fiddler json数据导出转载 2022-05-17 21:11:17 · 2649 阅读 · 0 评论 -
Android网络安全之NetworkSecurityConfig http https 应用
oogle在android p为了安全起见,已经明确规定禁止http协议额,但是之前很多接口都是http协议,我们一般是这样解决的:在res目录下创建xml目录,然后随便创建一个.xml文件,里面内容如下:<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true" /></network-转载 2022-05-17 17:11:44 · 1809 阅读 · 0 评论 -
学徒浅析Android——Android7.0(N)对于自定义证书和非CA机构证书的适配校验
对于Android N之前自定义或非CA证书的使用,一般有两种方式: 1、自定义X509TurstManager和HostnameVerifier,替换原有的HttpsURLConnection中的校验类。自定义方法以烂大街的转载版为主。 2、在手机中安装证书。通过设置列表完成 其实从2016年5月17日起,Google Play内容政策和开发者分发协议第 4.4条的相关规定中就指出将禁止发布X509TrustManage...转载 2022-05-17 15:18:12 · 1051 阅读 · 0 评论 -
No Network Security Config specified, using platform default
参考地址参考地址:学徒浅析Android——Android7.0(N)对于自定义证书和非CA机构证书的适配校验异常遇见的第一个异常是:No Network Security Config specified, using platform default解决办法:创建一个网络安全性配置 network_security_config.xml,用来声明证书校验方式<application android:allowBackup="true" ...转载 2022-05-17 15:10:50 · 1825 阅读 · 0 评论 -
夜神模拟器设置与PC同一网段,单IP
如下图:我用的是7.0版本1、打开设置-》手机与网络界面2、第一次需要安装桥接驱动,点击安装生重启后进行下图的设置3、查看模拟器ip地址,通过PC端ping模拟器ip,ping通,到此就完成了作者:一把菜刀行江湖链接:https://www.jianshu.com/p/742236f0cb49来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...转载 2022-05-13 15:15:03 · 5580 阅读 · 1 评论 -
Fiddler对安卓模拟器里的APP抓包(步骤详细,各种抓包工具总结)
转自公众号 : Hacking黑白红0x00常用抓包工具特点 常用的抓包工具有fiddler、wireshark、httpwatch、 firebug、F12/等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以查看接口的参数和响应值。 fiddler最适合,在APP测试的时候抓包; wireshare适合对整个流量进行抓取; ...转载 2022-05-13 15:12:02 · 28632 阅读 · 11 评论 -
Fiddler抓包Android手机https、http教程
1.pc端安装fiddler抓包工具下载链接:https://dl.softmgr.qq.com/original/Development/FiddlerSetup_5.0.20204.45441.exe2.fiddler安装正常安装就行,点下一步直到安装成功。3.pc端fiddler基本配置配置打开Fiddler Tool->Fiddler Options->HTTPS 。 (配置完后记得要重启Fiddler).选中"Decrpt HTTPS traffi..转载 2022-05-13 14:51:24 · 4308 阅读 · 0 评论 -
fiddler的基本使用教程
关于安装证书一、fiddler是一个抓包工具,是位于客户端和服务器端的http代理。默认是抓http请求的,对于pc上的https请求,会提示网页不安全这时候需要在浏览器上安装证书。二、在fiddler上的设置1.打开菜单栏:Tools>Fiddler Options>HTTPS2.勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了三、导出证书1.点右上角Actions按钮2.选第二个选项,导出到桌面,此时桌面上会多一个文件:Fiddle.转载 2022-05-13 12:10:32 · 30853 阅读 · 0 评论