gpt4 book ai didi

cocoa - 收到http状态代码204后接收缓存数据

转载 作者:行者123 更新时间:2023-12-03 17:26:30 26 4
gpt4 key购买 nike

我像这样使用NSURLConnection

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
if ( [response isKindOfClass:[NSHTTPURLResponse class]])
{
int code = [(NSHTTPURLResponse*)response statusCode];
}
}

我收到一个statusCode为204的响应,然后我发送另一个请求,但在它之后收到的所有响应都将返回204,但是tcpdump显示服务器返回200。但一分钟后,它会返回200。

我认为缓存可能有问题,但是我将cachePolicy设置为NSURLRequestReloadIgnoringLocalCacheData,并且我在新请求之前执行[[NSURLCahce shareCache]removeAllCachedResponses]

但是这不起作用。在第一个204之后我仍然会得到204,如果我在一分钟后发送请求,将会得到200。

是缓存的问题吗?接下来我可以做什么?

PS:204到达后,如果我再发送一个请求,响应立即到达,看起来还没有发送。但是,tcpdumps捕获了发送。

最佳答案

看一下 NSURLRequest 类方法“requestWithURL:cachePolicy:timeoutInterval:”。在那里,您可以将cachePolicy设置为NSURLRequestCachePolicy值,例如NSURLRequestReloadIgnoringLocalCacheData。这将忽略本地存储的请求的任何缓存。

NSURLRequest *theRequest =
[NSURLRequest requestWithURL:theURL
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:20.0f];

关于cocoa - 收到http状态代码204后接收缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3350610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com