加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Square Retrofit Client:如何启用/禁用followRedirects

发布时间:2020-12-15 00:44:49 所属栏目:Java 来源:网络整理
导读:我正在使用Square的Retrofit Client从 Android应用程序发出简单请求.像这样: RestAdapter restAdapter = new RestAdapter.Builder() .setServer(Configurations.getInstance().plistMap.get("PTBaseURL")) .setRequestHeaders(new RequestHeaders() { @Over
我正在使用Square的Retrofit Client从 Android应用程序发出简单请求.像这样:
RestAdapter restAdapter = new RestAdapter.Builder()
            .setServer(Configurations.getInstance().plistMap.get("PTBaseURL"))
            .setRequestHeaders(new RequestHeaders() {
                @Override
                public List<Header> get() {
                    List<Header> headers = new ArrayList<Header>();
                        Header authHeader = new Header("Authorization",authType + " " + UserManager.getInstance().currentUser.token);
                        headers.add(authHeader);
                    }
                    return headers;
                }
            })
            .build();

    this.service = restAdapter.create(ClientInterface.class);

一个端点重定向到不同的URL(s3).由于一个对此问题不重要的原因,重定向请求失败,因此我的callback.failure(error)方法被调用.我需要能够在某些时候访问和修改重定向URL或请求,最好是在callback.failure()中.我怎样才能做到这一点?

或者,有没有办法设置像followRedirects = false(并以这种方式拦截重定向)?

解决方法

使用OkHttp:
public static void setFollowRedirects (boolean auto)
 public OkHttpClient setFollowProtocolRedirects(boolean followProtocolRedirects)

使用HttpURLConnection:

public static void setFollowRedirects (boolean auto)
public void setInstanceFollowRedirects (boolean followRedirects)

见讨论here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读