满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述Android或者Java发送Http自动重发请求的解决方案相关的知识,希望能为你提供帮助。
今天遇到奇葩问题,描述如下:
客户端向服务端发起了一次(从日志中可以看出仅仅打印了一次日志),但是确在后端出现了重复的几次请求数据在后端。这个问题很不容易出现,而且用中文搜索不到相应的结果;
今天在国外的网站中找到了问题的解决方案:
原因如下:由于设置了链接与获取数据的超时时间,客户端在发送数据之后,检测到可能并没有发送成功到后端,这个时候http底层会自动重发请求(注意是Http底层,所以应用端不会知道发送了多次请求)。如果应用端自动重发了多次请求,后端也回复了多次请求,但是前段仅仅会只回复1次请求。所以为了解决这个问题,只要在DefaultHttpClient设置如下代码即可解决:
【Android或者Java发送Http自动重发请求的解决方案】
defaultHttpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(0, false));
推荐阅读
- Android之IPC(aidl)
- Android Spans介绍(转)
- Android View的绘制流程三部曲 —— Measure
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- android WindowManager解析与骗取QQ密码案例分析
- Android-armebi-v7aarm64-v8aarmebi的坑
- Android 摇一摇功能的注意事项
- 使用LogPhoneUtil工具类在Android手机保存APP运行日志
- unity代码加密for Android,mono编译