首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSURLConnection和NSHTTPCookie

NSURLConnection和NSHTTPCookie
EN

Stack Overflow用户
提问于 2011-07-27 07:10:26
回答 2查看 936关注 0票数 0

场景:验证用户身份。抓取cookie,为其他请求设置cookie。很好。我无法立即弄清楚的是,在不将下一个视图推到屏幕上的情况下,如何处理身份验证失败的问题。如果我的响应是{错误:{密码:不匹配}},我也应该解析这个响应并相应地创建一个条件吗?我应该只检查响应代码吗?我看得出来,这太难了。我添加了我的下一个视图:

  • (void)connectionDidFinishLoading:(NSURLConnection *)连接

因此,当连接完成时,自然会推动下一个视图。如果身份验证也失败,我想阻止它出现在这里。也许我不应该在这里推下我的下一个观点。那在哪呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-27 07:42:23

我检查重定向路径:这将显示身份验证是否正常。

代码语言:javascript
复制
- (NSURLRequest*)connection:(NSURLConnection*)connection willSendRequest:(NSURLRequest*)request redirectResponse:(NSURLResponse*)redirectResponse
{

    NSLog(@"willSendRequest (from %@ to %@)", redirectResponse.URL, request.URL);
    NSString *from =   [NSString stringWithFormat:@"%@",redirectResponse.URL];
    NSString *to =   [NSString stringWithFormat:@"%@",request.URL];
    if([from isEqualToString:serverSignInPath] )
      //logged=true
    else
     //logged=false
}
票数 1
EN

Stack Overflow用户

发布于 2011-07-27 19:55:42

代码语言:javascript
复制
NSURLResponse *HTTPResponse = (NSURLResponse *)response;
NSInteger statusCode = [HTTPResponse statusCode];

if (404 == statusCode || 500 == statusCode) {
    [connection cancel];
    [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] setNetworkActivityIndicatorVisible:NO];
}

这样,它就永远不会到达connectionDidFinishLoading来推动下一个视图。

Rails响应应该如下所示。

代码语言:javascript
复制
render :json => @foo.to_json, :status => 404
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6840653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档