今天简单学习了一下xUtils的使用java
https://github.com/wyouflf/xUtilsgit
其中用到HttpUtils模块时,发现老是出现Temporary Redirect 错误。github
查看源代码,发现若是是经过代理上网的话,须要在初始化HttpUtils时,传代理的String值。学习
在HttpUtils.java中:this
public HttpUtils(int connTimeout, String userAgent) { HttpParams params = new BasicHttpParams(); ConnManagerParams.setTimeout(params, connTimeout); HttpConnectionParams.setSoTimeout(params, connTimeout); HttpConnectionParams.setConnectionTimeout(params, connTimeout); if (TextUtils.isEmpty(userAgent)) { userAgent = OtherUtils.getUserAgent(null); } HttpProtocolParams.setUserAgent(params, userAgent); ...
因此,解决方法一,调用须要传代理的构造方法来实例化HttpUtils.spa
public HttpUtils(String userAgent) { this(HttpUtils.DEFAULT_CONN_TIMEOUT, userAgent); }
不过,不少状况下,咱们是不须要知道这些的,由于不一样的环境可能须要不一样的代理设置。代理
解决方法二,直接注释掉设置代理的代码code
public HttpUtils(int connTimeout, String userAgent) { HttpParams params = new BasicHttpParams(); ConnManagerParams.setTimeout(params, connTimeout); HttpConnectionParams.setSoTimeout(params, connTimeout); HttpConnectionParams.setConnectionTimeout(params, connTimeout); if (TextUtils.isEmpty(userAgent)) { userAgent = OtherUtils.getUserAgent(null); } //HttpProtocolParams.setUserAgent(params, userAgent);
这样,你在代码这个层面就不须要考虑代理的设置了。blog