您的位置:首页 > 理论基础 > 计算机网络

iOS开发--http请求设置Cookie

2015-07-14 20:39 811 查看
    在设置Cookie之前,先让我们了解一下通用Cookie格式,多个Cookie的格式通常为:cookie1=value1; cookie2=value2; cookie3=value3;

    这里特别要注意,多个cookie之间用分号+空格分隔开,不是&也不是单纯的空格。我所了解到的iOS设置Cookie的方法有两种,分别如下。

方法一:

NSMutableString *cookieString = [[NSMutableString alloc] init];
[cookieString appendFormat:@"userid=%@;", @"xxxx"];
[cookieString appendFormat:@" sessionid=%@;", @"xxxx"];
[cookieString appendFormat:@" nickname=%@;", @"xxxx"];

[request setValue:cookieString forHTTPHeaderField:@"Cookie"];


方法二:

NSDictionary *properties1 = [NSDictionary dictionaryWithObjectsAndKeys:
@"domain.com", NSHTTPCookieDomain,
@"/", NSHTTPCookiePath,
@"userid", NSHTTPCookieName,
strUserId, NSHTTPCookieValue,
nil];

NSDictionary *properties2 = [NSDictionary dictionaryWithObjectsAndKeys:
@"domain.com", NSHTTPCookieDomain,
@"/", NSHTTPCookiePath,
@"pid", NSHTTPCookieName,
pid, NSHTTPCookieValue,
nil];

NSHTTPCookie *cookie1 = [NSHTTPCookie cookieWithProperties:properties1];
NSHTTPCookie *cookie2 = [NSHTTPCookie cookieWithProperties:properties2];
NSArray* cookies = [NSArray arrayWithObjects: cookie1, cookie2, nil];
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
request.allHTTPHeaderFields = headers; //这句才是关键
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: