iOS开发--http请求设置Cookie

本文介绍了在iOS开发中如何设置Cookie。提供了两种方法,一种是直接构造Cookie字符串并设置到请求头中,另一种是通过创建NSHTTPCookie对象来实现。这两种方法都需要正确地格式化Cookie,并确保它们能被服务器正确解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在设置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; //这句才是关键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值