【问题标题】:Square Retrofit Client: How to enable/disable followRedirects? How to intercept redirect URL?Square Retrofit Client:如何启用/禁用 followRedirects?如何拦截重定向 URL?
【发布时间】:2013-08-15 15:18:30
【问题描述】:

我正在使用 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 之类的东西(并以这种方式拦截重定向)?

【问题讨论】:

    标签: java android networking retrofit


    【解决方案1】:

    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

    【讨论】:

    猜你喜欢
    • 2017-04-20
    • 2019-10-12
    • 2021-12-18
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2017-08-29
    相关资源
    最近更新 更多