所以这就是用例 .
- 应用程序运行,授权标头设置为nil . 你获得了新的数据 .
[_request setValue:nil forHTTPHeaderField:@“Authorization”];
- 用户登录,之后所有对服务器的请求都与Authorized Header一起发送 .
[_request setValue:[NSString stringWithFormat:@“TRUEREST username =%@&session_token =%@&apikey = 1234567890”,@“username”,@“session_token”] forHTTPHeaderField:@“Authorization”];
- 现在我退出,现在每个请求都带有Authorization Header nil值 .
[_request setValue:nil forHTTPHeaderField:@“Authorization”];
但我仍然得到回应,好像我已登录用户?知道这是什么问题吗?
使用如下方式对服务器进行请求
[NSURLConnection sendAsynchronousRequest:_request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {}];
我试图通过以下两种方式制作NSMutableURLRequest .
_request = [NSMutableURLRequest requestWithURL:url];
_request = [[NSMutableURLRequest alloc] initWithURL:url
cachePolicy:NSURLRequestReloadRevalidatingCacheData
timeoutInterval:60];
2 回答
您可以在使用请求之前禁用cookie:
或者,删除任何cookie - 或相关的cookie - 形成
NSHTTPCookieStorage
单身 .但是,您可以使用
NSURLConnection
实现委托connection:willSendRequestForAuthenticationChallenge:
来大大改善您的代码,您可以在其中完全自定义身份验证处理 .看起来像服务器问题 . 服务器应发送响应头,告知URL加载系统不缓存响应 .