android 弱网测试与响应超时、连接超时异常处理

本文介绍如何使用Fiddler工具进行弱网环境下的电商应用测试,包括工具安装、配置及模拟网络延迟的方法。同时,探讨了在网络延迟情况下,电商应用可能出现的重复支付问题,并提出响应超时与连接超时的处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在日常工作中特别是高安全级别的android电商项目经常会出现一种异常情况——当客户发起一个2元 的消费请求时,由于网络延迟导致请求异常,客户再次提交2元消费请求,消费成功,但是客户会发现他消费了4元。投诉是在所不免的了,可是为什么会有这种问题出现呢?带着这个问题,我们接着往下看。

    我们要了解这种异常现象时,首先要能还原这种场景,但是网络延迟这种场景并不常见。因此我们先要去学习一个工具——fiddler抓包工具 ,这个工具里面有模拟弱网环境的功能。

下载地址:https://www.telerik.com/fiddler

一路next,安装完后进入如下界面

一、android抓包原理

        在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。Fiddler 是以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https。因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。

在android手机上进行抓包的准备:

1、在PC上安装好Fiddler

2、CMD中使用ipconfig查找到PC上的IP

3、手机和PC在同一网络上

4、在手机上设置代理,代理地址填上PC查到的IP地址

 

二、设置Fiddler

菜单:Tools-> Options->Connections,勾选"Allow remote computers to connect"

 

 

记住端口如果没有设置好的话,自己可以改,写一个没有被占用的端口,我使用的是默认的8888。设置完了记住要重新启动fiddler,不然可能会无效 。

接下来在手机的WIFi选项中找到修改网络,在代理项选上手动,然后输入PC查询到的IP地址,端口号写上在fiddler设置的端口,点击保存就好。这些就不截图了。

三、开启弱网测试

   菜单:Rules-> customize Rules

   按照上面步骤会进入一个编辑界面,Ctrl+F输入simulate查找,找到如下界面修改数值就好,我修改为延迟5秒:

   

 

   if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "5000"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "5000"; 
        }

修改完后记得保存好,关闭界面,回到主页后选择:

菜单:Rules-> performance->simulate modem speeds

开启延迟,再点击就是关闭,这就是弱网测试的环境搭建。

下面开始讲讲响应超时和连接超时,什么是响应超时?什么是连接超时?

ConnectException : 指的是服务器请求超时 SocketTimeoutException:指的是服务器响应超时 可以在代码里设置 //请求超时        httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,reqTimeout);        //响应超时        httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, resTimeout);这里两个异常都会在请求失败的回调方法中抛出的异常中进行检测,当这两种情况发生时,我们要怎么处理呢?

处理方法:当一笔交易,如果请求失败,那可以允许用户再次提交。 如果是响应失败,那就说明用户提交成功了,应该防止用户再次提交。

原创:https://blog.youkuaiyun.com/weixin_40600325/article/details/85116486

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值