objective c使用http访问服务器

通过http 方式向服务器发送消息,同时从服务器端得到json 串,但是现在遇到了问题,当我通过了登陆页面之后,再次向服务器端发起请求,结果服务器端显示我未登陆,不知道该用什么方法来保持于服务器端的登陆状态。

>> 第一次登录后 取得一个jsessionid  以后要是这个id 还有效  就带上它[" set-cookie" 这个字段就是你这个jsessionid值 ]

一段使用cookies的代码:
- (NSURLRequest *)HttpPost:(NSString *)url {
   
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookies];
   
    NSHTTPCookie *Cookie = nil;
    for(NSHTTPCookie *_cookie in cookies) {
        if([[_cookie domain]isEqualToString:YOURDomain]) {
            _iCookie = _cookie;
            break;
        }
    }
   
    NSMutableURLRequest *_request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
    [_request setHTTPMethod:@"POST"];
    [_request setTimeoutInterval:10];
    [_request setCachePolicy:NSURLRequestUseProtocolCachePolicy];
    [_request setHTTPShouldHandleCookies:YES];
    [_request setValue:[NSString stringWithFormat:@"%@=%@", [_Cookie name], [_Cookie value]] forHTTPHeaderField:@"Cookie"];
   
    return _request;
}

你可能感兴趣的:(objective c)