2014-10-29 146 views
0

我使用的API,我不控制使用301永久重定向时,它不应该。我需要我的NSURLConnection忽略它以前被永久重定向以供将来请求的事实。忽略301永久重定向与NSURLConnection

继承人是Clarity的一个例子。我想连接到http://stupidapi.com/users/frank/profilepicture。它做了301重定向到http://profilepictures.stupidapi.com/52435346324其中有我正在寻找它的个人资料图片。

因此,让我们说,后来弗兰克登录到他的账户,并更改他的个人资料图片。现在,当我想要新的个人资料图片时,我会去http://stupidapi.com/users/frank/profilepicture,但由于我提出的第一个要求是301永久性重定向,它会将我发送回http://profilepictures.stupidapi.com/52435346324这是旧图片。如果这是我第一次请求它会发送给我http://profilepictures.stupidapi.com/34535476557为新的图片。

我怎么NSURLConnection的总是到图像的最新版本?

我已经试过的NSURLRequest缓存策略设置为NSURLRequestReloadIgnoringCache

request.cachePolicy = NSURLRequestReloadIgnoringCache;  

我也试着清除NSURLCache任何请求与

[NSURLCache sharedURLCache] removeAllCachedResponses]; 

做出无论至今合作过。谢谢你的帮助!

+0

那么'[[NSURLCache sharedURLCache] removeCachedResponseForRequest:request]'? – 2014-10-29 17:27:21

+0

我会给它一个谢谢 – 2014-10-29 17:35:47

+0

试过了,结果相同。这样的东西实际上由系统缓存吗?这似乎即使我删除我的应用程序并重新安装它,我仍然被重定向到旧版本。 – 2014-10-29 17:37:47

回答

0

好了,所以我想出了一个解决方案的一个讨厌的黑客,但我能拿出最好的。

指定每次发送请求给它时间不关心市值所以基本上原来的URL,我随机设置的URL以大写或小写的特定部分的每个字母。

基本上而不是仅仅去http://stupidapi.com/users/frank/profilepicture我到http://stupidapi.com/users/FrAnk/profilepicture。如果我点击一个没有被缓存的图片,那么我会得到新的图片。

对于我特殊的使用情况,这个工作起来不错。