OkHttp拦截器实现禁止一切网络请求_okhttp阻止所有请求-程序员宅基地

技术标签: 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缺一不可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ysy950803/article/details/94782131

智能推荐

上海轴承展|2024年第十届SIA上海国际轴承展览会→_024sia第10届上海国际轴承展及第22届自动化展-程序员宅基地

文章浏览阅读85次。2024年7月24-26日,上海国家会展中心(虹桥)举办的SIA2024上海国际轴承展将与SIA上海国际智能工厂展同期举办,展会面积达到60,000平方米,1,200+家企业参展,预计120,000万人参观。这场盛会将聚焦各系列标准轴承、汽车轴承、特殊轴承、直线轴承、轴承设备及零部件等行业热门话题,为到场的业内同仁拓展视野、拓宽思路、拓深机遇,共同助力行业发展,直击轴承行业未来发展的产业融合重点。_024sia第10届上海国际轴承展及第22届自动化展

使用Selenium模块编写自动化爬虫程序_idea 创建selenium 爬虫-程序员宅基地

文章浏览阅读1.5k次。在编写自动化爬虫程序时,我们可以使用Selenium模块来模拟浏览器的行为,实现更复杂的爬取操作。Selenium模块是一个强大的工具,可以自动化地控制浏览器进行页面的加载、点击、填写表单等操作。本文将介绍如何使用Selenium模块编写自动化爬虫程序,以及如何获取代理、分页和乱序爬取的技巧。_idea 创建selenium 爬虫

使用python .pcm音频文件多声道数据分离与转化为浮点数_pcm为浮点数-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏5次。使用python .pcm音频文件多声道数据分离与转化为浮点数,如何使用python语言将pcm音频流文件转为数值矩阵,多声道进行声道分离,便于对每个单声道进行观察,下面我写了一个函数(借用了AudioSegment)用于解决这个问题。_pcm为浮点数

数字孪生Web3D智慧机房可视化运维云平台建设方案_维谛 机房安全感知数字孪生平台-程序员宅基地

文章浏览阅读619次。面向数据中心办公区管理部门打造的数字化解决方案,综合运用大数据、物联网、数字孪生等技术,通过三维建模,对园区外部环境、楼宇建筑、机房空间、机柜设备进行3D可视化呈现,直观展示机房动力环境和机柜运行情况,包括UPS、供线、空调、温湿度、安防、消防、机柜容量、端口等管理要素,辅助管理人员远程掌握机房态势,有效提高机房综合监管能力、降低园区运营成本,实现管理精细化、决策科学化和服务高效化。在智慧机房平台上,可视化展示机房实时能耗情况、调节情况、PUE分析、节能成效分析等,实现智慧节能。_维谛 机房安全感知数字孪生平台

java编程思想第四版第十一章习题-程序员宅基地

文章浏览阅读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章习题

Windows下Scoop安装、配置与使用_scoop会全部下载到c盘吗-程序员宅基地

文章浏览阅读1.6k次。Scoop简介Scoop是Windows的命令行安装程序,是一个强大的包管理工具。可以在github上找到其项目的相关信息,项目网址。安装的起因:在平常生活中如果要安装像gcc、git等一些需要手动配置相关参数的工具,需要先去官网下载安装程序,点击安装,之后还需要配置,不仅过程麻烦,而且工具多了之后整理起来也相当不容易,配置也很杂,整个电脑就像被污染了一样。而scoop可以很好地解决这一问题,安装scoop后,只需要在命令行输入简单的一串命令即可安装你想要的软件。比如我想安装gcc,只需要输入s_scoop会全部下载到c盘吗

随便推点

win10+Anaconda3 + pycharm_anaconda3 pythoncharn-程序员宅基地

文章浏览阅读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

linux中mfsort用法,Linux命令――sort-程序员宅基地

文章浏览阅读360次。sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。用法:sort [OPTION]... [FILE]...参  数:-b 忽略每行前面开始出的空格字符。-c 检查文件是否已经按照顺序排序。-f 排序时,忽略大小写字母。-M 将前面3个字母依照月份的缩写进行排序。-n 依照数值的大小排序。-o 将排序后的..._linux mfsort sort record

MFC学习笔记(一)MFC基本知识介绍、建立MFC应用程序_mfcjh-程序员宅基地

文章浏览阅读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

学习心得之Zblog选择数据库版本及Sql server2012数据库自增量跳跃1000问题_zblog sql server-程序员宅基地

文章浏览阅读317次。学习心得读书笔记:今天我学习的是关于ZBLOGASP2.2版本程序搭载数据库的事项,因为最近几年一直在写博客,因此对于这套系统的的早期版本还是比较熟悉的,但是对于新版本和新数据库就没怎么了解了。尤其是搭载MS-SQL数据库或者PHP程序配置MYSQL数据库的系统,就没怎么研究,那么ZBLOGASP2.2如何选择数据库呢?今天来和大家一起分析!学习IT技术,关键在于实战,我的准备材料:域名和主题选择..._zblog sql server

【rgbd_benchmark_tools】TUM RGBD数据集基准测试工具使用调试记录,SLAM评估_rgbd slam 测试数据-程序员宅基地

文章浏览阅读231次。【rgbd_benchmark_tools】TUM RGBD数据集基准测试工具使用调试记录,SLAM评估_rgbd slam 测试数据

基于transformer的端到端语音识别模型解析-程序员宅基地

文章浏览阅读526次,点赞17次,收藏10次。语音识别作为人机交互的重要技术之一,在近年来得到了飞速的发展。传统的语音识别系统通常由声学模型、语言模型和解码器三个主要部分组成,需要进行复杂的管道式处理。随着深度学习技术的不断发展,出现了基于端到端(end-to-end)的语音识别模型,能够直接从原始语音信号中输出文本序列,大大简化了系统结构。其中,基于Transformer的端到端语音识别模型在近年来取得了突破性的进展,在多个公开数据集上取得了领先的识别性能。

推荐文章

热门文章

相关标签