2014-10-29 1 views
0

내가 사용하지 않는 API는 사용하지 말아야 할 301 리디렉션을 사용하고 있습니다. NSURLConnection은 향후 요청을 위해 과거에 영구적으로 리디렉션되었다는 사실을 무시해야합니다.NSURLConnection을 사용하여 301 리디렉션 영구 무시

진실성에 대한 예입니다.

나는 http://stupidapi.com/users/frank/profilepicture에 연결 중입니다. 그것은 http://profilepictures.stupidapi.com/52435346324에 대한 301 리디렉션을 수행하며,이 프로필 사진을 찾고 있습니다.

그래서 나중에 Frank가 자신의 계정에 로그인하여 프로필 사진을 변경한다고 가정 해 보겠습니다. 이제 새로운 프로필 사진을 원할 때 http://stupidapi.com/users/frank/profilepicture으로 이동하지만 처음 요청한 이후 301 영구 리디렉션을 보내면 이전 사진 인 http://profilepictures.stupidapi.com/52435346324으로 다시 전송됩니다. 처음으로 요청하는 경우 새 사진을 보내려면 http://profilepictures.stupidapi.com/34535476557으로 보내야합니다.

NSURLConnection이 항상 최신 버전의 그림으로 이동하도록하려면 어떻게해야합니까?

내가 NSURLRequestReloadIgnoringCache

나는 또한 어떤 요청이

[NSURLCache sharedURLCache] removeAllCachedResponses]; 

로 만든되지 않습니다 나도 지금까지 일한 전에 NSURLCache을 삭제하려고했습니다

request.cachePolicy = NSURLRequestReloadIgnoringCache;  

에 NSURLRequest 캐시 정책을 설정하려고했습니다. 어떤 도움을 주셔서 감사합니다!

+0

[[[NSURLCache sharedURLCache] removeCachedResponseForRequest : request]'는 어떻게됩니까? –

+0

나는 그것에게 탄 감사를 줄 것이다 –

+0

그것, 동일한 결과를 시도했다. 이 같은 것들이 시스템에 실제로 캐시되어 있습니까? 내 응용 프로그램을 삭제하고 다시 설치하더라도 여전히 이전 버전으로 리디렉션되는 것처럼 보입니다. –

답변

0

그래, 나는 해로운 해킹 해결책을 알아 냈으나, 그 최선의 해결책은 생각해 낼 수있다.

원래 지정된 URL은 대문자를 중요시하지 않으므로 기본적으로 요청을 보낼 때마다 URL의 특정 부분에있는 각 문자를 대문자 또는 소문자로 임의로 설정합니다.

기본적으로 http://stupidapi.com/users/frank/profilepicture으로가는 대신 http://stupidapi.com/users/FrAnk/profilepicture에 도착했습니다. 이미 캐쉬되지 않은 것을 클릭하면 새로운 사진이 나옵니다.

내 경우에는이 방법을 사용하는 것이 좋습니다.