Android http 403 错误 可能出现的原因
今天自己写代码使用Retrofit下载百度搜索出来的图片的时候,发现了报错了,403。然后使用Glide却可以加载图片。
然后对Glide进行抓包,发现Glide请求的时候 http header 是这种格式的:
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36
而我自己的 请求默认是
User-Agent: okhttp/3.10.0
估计是百度对User-Agent有要求,所以我自己添加了一个正常的User-Agent请求头就ok了。
public class UserAgentInterceptor implements Interceptor {@Overridepublic Response intercept(Chain chain) throws IOException {Request request = chain.request().newBuilder().removeHeader("User-Agent")//移除旧的.addHeader("User-Agent", WebSettings.getDefaultUserAgent(MyApplication.getInstance()))//添加真正的头部,可以写死,也可以动态获取.build();return chain.proceed(request);}
}
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);if (mOkHttpClient == null) {synchronized (RetrofitClient.class) {if (mOkHttpClient == null) {//设置Http缓存//Cache cache = new Cache(new File(BilibiliApp.getInstance().getCacheDir(), "HttpCache"), 1024 * 1024 * 10);mOkHttpClient = new OkHttpClient.Builder()//.cache(cache).addInterceptor(interceptor).addInterceptor(new UserAgentInterceptor())//.addNetworkInterceptor(new CacheInterceptor())//.addNetworkInterceptor(new StethoInterceptor()).retryOnConnectionFailure(true).connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).cookieJar(new CookieManger(context))//.addInterceptor(new UserAgentInterceptor()).build();}}}
Android http 403 错误 可能出现的原因相关推荐
- 导致403错误的原因和解决方法
一.导致403错误的主要原因 403 Forbidden错误的原因和解决方法 1.你的IP被列入黑名单. 2.你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了. 3.网站域名解析 ...
- DEV C++编写程序出现 [errror]Id returned 1 exit status错误可能出现的原因
昨天调试C程序时,出现了这个错误,心态都要崩了.但好在通过自己一段一段程序的调试,终于还是把错误给发现了.我将其写下来,希望和我一样的小白在遇到这样的错误时,能够及时发现. 当出现如下错误时: 可能有 ...
- 调用 from sklearn.datasets import fetch_lfw_people 出现HTTPError 403错误
调用 from sklearn.datasets import fetch_lfw_people 出现HTTPError 403错误 调用fetch_lfw_people()方法下载LFW(Lable ...
- 服务器出现HTTP400、401、402、403错误原因及解决方法
HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 40 ...
- 403 Forbidden错误的原因和解决方法(转)
这几天刚接手一批新做的网站,在访问网站的时候,会时不时的出现403 Forbidden错误,浏览器会给出403 Forbidden错误提示,在打开Access Error中列出的URL之后, 出现以下 ...
- 网站出现403 Forbidden错误的原因以及怎么解决的方法
这几天刚接手一批新做的网站,在访问网站的时候,会时不时的出现403 Forbidden错误,浏览器会给出403 Forbidden错误提示,在打开Access Error中列出的URL之后, 出现以下 ...
- 403 Forbidden错误的原因和解决方法
文章目录 前言 1.403 forbidden是什么意思? 2.403错误代码的分类介绍 3.导致403错误的主要原因 4.解决403 forbidden错误的方法 4.1.重建`DNS`缓存 4.2 ...
- 网站服务器报403错误怎么解决办法,Http 403错误原因及解决办法
问题介绍 403是Web服务器返回的一种非常常见的错误代码,Http协议中对403错误定义如下, 403 Forbidden The server understood the request, bu ...
- Android使用自定义View时:Error inflating class错误的原因。
当在布局文件里使用自定义的View的时候,出现Error inflating class错误的原因: 1.没有定义inflate需要的默认构造函数: eg:自定义View为TestView,需要定义T ...
最新文章
- Nature:根系菌群参与磷胁迫和免疫的平衡
- AI、ML 和数据工程 | InfoQ 趋势报告(2021 年)
- android studio 使用adb
- 人脸识别有风险,美国全面禁止,可为什么中国却全面推广?
- Vim和Vi的常用命令
- linux安装Linux下软件的安装与卸载方法
- MATLAB实现一个简单的车牌识别小程序
- ActiveX控件开发流程
- leetcode每日一题 838. 推多米诺 正解 双指针~这题很考察模拟逻辑——是一道不错的模拟题
- 读丁磊内部邮件有感“丁磊点评:微信5分 陌陌4分 易信0分 来往负分”
- 陈彤离职,新浪在门户竞争中将继续被边缘化
- [HTML5游戏开发]挑战横版ACT(三):遇红颜英雄亦多情
- matlab自动调焦,光学系统离焦对自动调焦评价函数的影响
- 盘点PS使用小技巧。
- 如何使用Qt调试飞机大战
- 塞尔达传说-荒野之息 体验复盘
- Matlab声音处理教程
- 上顿号符号_标点符号的用法一一顿号
- 阿里聚安全攻防挑战赛第三题Android PwnMe解题思路
- 多元相关性分析_初发儿童1型糖尿病患者甲状腺激素水平与糖脂代谢的相关性研究...