今天簡單學習了一下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