dns劫持 - Android用XUtils下载apk文件被运营商劫持,如何处理.
本文介绍了dns劫持 - Android用XUtils下载apk文件被运营商劫持,如何处理.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
https://support.qiniu.com/hc/...
七牛提供的解决方法,但是项目中应用次方法局限性太大.
遂问还有其他的解决方法吗?
//自己解决了
自己替换掉xutils的重定向handler
public class NoHttpRedirectHandler implements HttpRedirectHandler {
private String url;
public NoHttpRedirectHandler(String url) {
this.url=url;
}
public HttpRequestBase getDirectRequest(HttpResponse response) {
if(response.containsHeader("Location")) {
HttpGet request = new HttpGet(url);
MGLog.e("upgrade","可恶,但是已经阻止了重定向!");
if(response.containsHeader("Set-Cookie")) {
String cookie = response.getFirstHeader("Set-Cookie").getValue();
request.addHeader("Cookie", cookie);
}
return request;
} else {
return null;
}
}
}
实际使用:
HttpManagerX.getHttpUtils().configHttpRedirectHandler(new NoHttpRedirectHandler(url)).download(url, target, true, new
RequestCallBack<File>(){...}
当被重定向到其他的url时,我们把重定向的url替换为我们原来的.
解决方案
自己替换掉xutils的重定向handler
public class NoHttpRedirectHandler implements HttpRedirectHandler {
private String url;
public NoHttpRedirectHandler(String url) {
this.url=url;
}
public HttpRequestBase getDirectRequest(HttpResponse response) {
if(response.containsHeader("Location")) {
HttpGet request = new HttpGet(url);
MGLog.e("upgrade","可恶,但是已经阻止了重定向!");
if(response.containsHeader("Set-Cookie")) {
String cookie = response.getFirstHeader("Set-Cookie").getValue();
request.addHeader("Cookie", cookie);
}
return request;
} else {
return null;
}
}
}
实际使用:
HttpManagerX.getHttpUtils().configHttpRedirectHandler(new NoHttpRedirectHandler(url)).download(url, target, true, new
RequestCallBack<File>(){...}
当被重定向到其他的url时,我们把重定向的url替换为我们原来的.
这篇关于dns劫持 - Android用XUtils下载apk文件被运营商劫持,如何处理.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文