개조 서비스를 사용 중입니다.개조 URL 리디렉션 URL에서 매개 변수 가져 오기
다른 끝점으로 리디렉션되는 끝점이 있습니다. 후자 (내가 끝내는 끝점)에는 URL에 필요한 매개 변수가 있습니다. 이 매개 변수의 값을 얻는 가장 좋은 방법은 무엇입니까?
Retrofit을 사용하여 리디렉션되는 URL을 얻는 방법을 알 수조차 없습니다.
개조 서비스를 사용 중입니다.개조 URL 리디렉션 URL에서 매개 변수 가져 오기
다른 끝점으로 리디렉션되는 끝점이 있습니다. 후자 (내가 끝내는 끝점)에는 URL에 필요한 매개 변수가 있습니다. 이 매개 변수의 값을 얻는 가장 좋은 방법은 무엇입니까?
Retrofit을 사용하여 리디렉션되는 URL을 얻는 방법을 알 수조차 없습니다.
OkHttp의 응답을 통해 와이어 레벨 요청 (https://square.github.io/okhttp/3.x/okhttp/okhttp3/Response.html#request--)이 제공됩니다. 이것은 리디렉션에서 응답을 시작한 요청입니다. 요청은 HttpUrl을 제공하고 HttpUrl은 매개 변수의 키와 값, 경로 등을 제공 할 수 있습니다.
Retrofit 2에서는 retrofit2.Response.raw()를 사용하여 okhttp3.Response를 가져온 다음 위.
개조를 사용 중입니다. 이 방법으로 리디렉션 URL을 얻을 수 있습니다.
희망이 있으면 도움이 될 것입니다.
이 해결책은 인터셉터를 사용하는 것입니다.
private Interceptor interceptor = new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
okhttp3.Response response = chain.proceed(chain.request());
locationHistory.add(response.header("Location"));
return response;
}
};
는 HttpClient를에 인터셉터를 추가하고 그
public void request(String url) {
OkHttpClient.Builder client = new OkHttpClient.Builder();
client.followRedirects(true);
client.addNetworkInterceptor(interceptor);
OkHttpClient httpClient = client.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build();
}
는 이제 전체 리디렉션 기록을 전체 액세스 권한 (이 예를 들어 2.0을 사용하여) 갱신하는 것이 추가 할 수 있습니다.
전체 리디렉션 기록에 대한 전체 액세스 코드는 무엇입니까? – compte14031879
아마도 더 completed 대답 : http://stackoverflow.com/questions/31667230/how-to-get-the-response-url-from-retrofit – compte14031879
위치 내 목록
같은 문제가 있으면 더 이상 업데이트가 필요합니까? – WenChao
@WenChao OkHttp 네트워크 인터셉터를 사용하여 결과 Response를 가져 와서 URL을 얻습니다. –
이 질문에 대한 대답으로 업데이트되었습니다. –