我正在使用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()中.我怎样才能做到这一点?
解决方法
使用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.