技术标签: OkHttp response 404 拦截器 网络请求 Android
我们在创建OkHttp客户端时,可以添加各种拦截器,这是我见过最有可玩性的库之一:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.addInterceptor(new XXXInterceptor())
.addInterceptor(new YYYInterceptor())
....
.build();
设想这么一个场景,用户有一个开关,可以允许或禁止应用内的一切网络请求,如何用拦截器来实现?
为了不让大家觉得我又在水贴,直入主题。
我们可以通过构造一个404的response来拦截请求:
private static class NetworkInterceptor implements Interceptor {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
if (/*你妈妈不准你上网*/) {
return new okhttp3.Response.Builder()
.code(404) // 其实code可以随便给
.protocol(Protocol.HTTP_2)
.message("Network is closed by mom")
.body(ResponseBody.create(MediaType.get("text/html; charset=utf-8"), "")) // 返回空页面
.request(chain.request())
.build();
} else {
return chain.proceed(chain.request());
}
}
}
一定要记住哦,code,protocol,message,body缺一不可。
文章浏览阅读85次。2024年7月24-26日,上海国家会展中心(虹桥)举办的SIA2024上海国际轴承展将与SIA上海国际智能工厂展同期举办,展会面积达到60,000平方米,1,200+家企业参展,预计120,000万人参观。这场盛会将聚焦各系列标准轴承、汽车轴承、特殊轴承、直线轴承、轴承设备及零部件等行业热门话题,为到场的业内同仁拓展视野、拓宽思路、拓深机遇,共同助力行业发展,直击轴承行业未来发展的产业融合重点。_024sia第10届上海国际轴承展及第22届自动化展
文章浏览阅读1.5k次。在编写自动化爬虫程序时,我们可以使用Selenium模块来模拟浏览器的行为,实现更复杂的爬取操作。Selenium模块是一个强大的工具,可以自动化地控制浏览器进行页面的加载、点击、填写表单等操作。本文将介绍如何使用Selenium模块编写自动化爬虫程序,以及如何获取代理、分页和乱序爬取的技巧。_idea 创建selenium 爬虫
文章浏览阅读2.5k次,点赞3次,收藏5次。使用python .pcm音频文件多声道数据分离与转化为浮点数,如何使用python语言将pcm音频流文件转为数值矩阵,多声道进行声道分离,便于对每个单声道进行观察,下面我写了一个函数(借用了AudioSegment)用于解决这个问题。_pcm为浮点数
文章浏览阅读619次。面向数据中心办公区管理部门打造的数字化解决方案,综合运用大数据、物联网、数字孪生等技术,通过三维建模,对园区外部环境、楼宇建筑、机房空间、机柜设备进行3D可视化呈现,直观展示机房动力环境和机柜运行情况,包括UPS、供线、空调、温湿度、安防、消防、机柜容量、端口等管理要素,辅助管理人员远程掌握机房态势,有效提高机房综合监管能力、降低园区运营成本,实现管理精细化、决策科学化和服务高效化。在智慧机房平台上,可视化展示机房实时能耗情况、调节情况、PUE分析、节能成效分析等,实现智慧节能。_维谛 机房安全感知数字孪生平台
文章浏览阅读191次。第一题package net.mindview.holding.test1;import java.util.ArrayList;import java.util.List;/** * 沙鼠 * @author samsung * */public class Gerbil { static int counter; int ..._java编程思想第四版 第11章习题
文章浏览阅读1.6k次。Scoop简介Scoop是Windows的命令行安装程序,是一个强大的包管理工具。可以在github上找到其项目的相关信息,项目网址。安装的起因:在平常生活中如果要安装像gcc、git等一些需要手动配置相关参数的工具,需要先去官网下载安装程序,点击安装,之后还需要配置,不仅过程麻烦,而且工具多了之后整理起来也相当不容易,配置也很杂,整个电脑就像被污染了一样。而scoop可以很好地解决这一问题,安装scoop后,只需要在命令行输入简单的一串命令即可安装你想要的软件。比如我想安装gcc,只需要输入s_scoop会全部下载到c盘吗
文章浏览阅读1.4k次,点赞2次,收藏5次。上篇博文介绍了Anaconda的安装,python环境的配置,为提高开发效率,本篇博文介绍Windows环境下的IDE开发环境pycharm的安装:一、下载官方下载地址:http://www.jetbrains.com/pycharm/download/#section=windows本教程选用community版本,pycharm-community-2018.3.2二、安装使用默认..._anaconda3 pythoncharn
文章浏览阅读360次。sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。用法:sort [OPTION]... [FILE]...参 数:-b 忽略每行前面开始出的空格字符。-c 检查文件是否已经按照顺序排序。-f 排序时,忽略大小写字母。-M 将前面3个字母依照月份的缩写进行排序。-n 依照数值的大小排序。-o 将排序后的..._linux mfsort sort record
文章浏览阅读1w次,点赞15次,收藏113次。MFC学习笔记(一)MFC基本知识介绍建立MFC应用程序MFC基本知识介绍1.API为方便开发Windows应用程序,操作系统提供了各种各样的函数,作为给应用程序编程的接口,(Application Programming Interface),简称为API函数,也就是指系统提供的函数。例如,Windows中播放声音的API函数,函数原型如下:BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound)pszSound就是你要播放的文_mfcjh
文章浏览阅读317次。学习心得读书笔记:今天我学习的是关于ZBLOGASP2.2版本程序搭载数据库的事项,因为最近几年一直在写博客,因此对于这套系统的的早期版本还是比较熟悉的,但是对于新版本和新数据库就没怎么了解了。尤其是搭载MS-SQL数据库或者PHP程序配置MYSQL数据库的系统,就没怎么研究,那么ZBLOGASP2.2如何选择数据库呢?今天来和大家一起分析!学习IT技术,关键在于实战,我的准备材料:域名和主题选择..._zblog sql server
文章浏览阅读231次。【rgbd_benchmark_tools】TUM RGBD数据集基准测试工具使用调试记录,SLAM评估_rgbd slam 测试数据
文章浏览阅读526次,点赞17次,收藏10次。语音识别作为人机交互的重要技术之一,在近年来得到了飞速的发展。传统的语音识别系统通常由声学模型、语言模型和解码器三个主要部分组成,需要进行复杂的管道式处理。随着深度学习技术的不断发展,出现了基于端到端(end-to-end)的语音识别模型,能够直接从原始语音信号中输出文本序列,大大简化了系统结构。其中,基于Transformer的端到端语音识别模型在近年来取得了突破性的进展,在多个公开数据集上取得了领先的识别性能。