[Android] 開源框架 xUtils HttpUtils 代理設置 (Temporary Redirect錯誤)

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

相關文章
相關標籤/搜索