Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019-11-21:谈谈网络请求中的拦截器(Interceptor)? #193

Open
MoJieBlog opened this issue Nov 21, 2019 · 6 comments
Open

Comments

@MoJieBlog
Copy link
Collaborator

No description provided.

@Moosphan Moosphan changed the title 2019-11-21:谈谈网络请求中的拦截器(Intercept)? 2019-11-21:谈谈网络请求中的拦截器(Interceptor)? Nov 21, 2019
@Moosphan
Copy link
Owner

以okhttp为例,可以谈谈它内部拦截器的工作原理和应用场景

@hy20160705
Copy link

在OkHttp中 它内部拦截器采用了责任链的模式 如重试拦截器(请求重试)=>请求头拦截器(修改请求头信息)等 在我们View的事件传递机制中也用了责任链的模式 只能讲个泛泛 等待大佬补充

@yline
Copy link

yline commented Mar 1, 2020

系统自带的拦截器:
1,重试和重定向
2,请求头+响应头处理
3,缓存
4,dns + 三次握手
5,CallServer,读写数据流

常用的自定义拦截器:
1,日志拦截器
2,自定义缓存规则拦截器
3,重试机制等等

@aositeluoke
Copy link

RetryAndFollowUpInterceptor:负责失败重试以及重定向。
BridgeInterceptor:负责把用户构造的请求转换为发送给服务器的请求,把服务器返回的响应转换为对用户友好的响应。
CacheInterceptor:负责读取缓存以及更新缓存。
ConnectInterceptor:负责与服务器建立连接。
CallServerInterceptor:负责从服务器读取响应的数据。

@mlinqirong
Copy link

okhttp Interceptor拦截器实现请求和响应拦截 采用责任链模式 用于重试 重写拦截请求机制
可应用于请求日志拦截 重写请求头 重写参数 缓存等拦截处理

@senlinxuefeng
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants