我使用的无法控制的API在不应该使用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 :(得分:0)
好的,所以我想出了一个讨厌的解决方案,但它是我能想到的最好的。
指定的原始URL并不关心大写,所以基本上每次我向它发送请求时,我都会将URL的特定部分中的每个字母随机设置为大写或小写。
基本上我不是去http://stupidapi.com/users/frank/profilepicture而是http://stupidapi.com/users/FrAnk/profilepicture。如果我点击了一个尚未缓存的,那么我会得到新的图片。
对于我的特定用例,这种方法效果很好。