iOS cookie

1 NSMutableURLRequest請求時,會找到和該域名相同的cookie值,放到一起,然后請求。

2 [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 不會在本地磁盤寫入,只做內(nèi)存緩存。

3 添加cookie

 NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
    [cookieProperties setObject:@"authKey" forKey:NSHTTPCookieName];
    [cookieProperties setObject:@".tabobao.com" forKey:NSHTTPCookieDomain];
    [cookieProperties setObject:@"sfda" forKey:NSHTTPCookieValue];
    [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
    [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];

    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    
    //添加cookie
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
    for (NSHTTPCookie *tempCookie in cookies) {
        NSLog(@"tep %@",tempCookie);
    }

4 遍歷cookie

  NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
    for (NSHTTPCookie *tempCookie in cookies) {
        NSLog(@"tep %@",tempCookie);
    }

5 刪除cookie

  for (NSHTTPCookie *curCookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:curCookie];
    }

6測試代碼

- (void)viewDidLoad {
    [super viewDidLoad];
    [self writeCookie];
    [self testquest];
}
- (void)writeCookie{
    NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
    [cookieProperties setObject:@"authKey" forKey:NSHTTPCookieName];
    [cookieProperties setObject:@".taobao.com" forKey:NSHTTPCookieDomain];
    [cookieProperties setObject:@"sfda" forKey:NSHTTPCookieValue];
    [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
    [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];

    //添加cookie
    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
    for (NSHTTPCookie *tempCookie in cookies) {
        NSLog(@"tep %@",tempCookie);
    }

    
}
- (long long)testquest{
    NSString *nsUrl = [NSString stringWithFormat:@"https://taobao.com"];
    NSMutableURLRequest *nsmRequest = [[NSMutableURLRequest alloc] init] ;
    [nsmRequest setURL:[NSURL URLWithString:nsUrl]];
    [nsmRequest setHTTPMethod:@"HEAD"];
    [nsmRequest setTimeoutInterval:30];
    [nsmRequest addValue:[NSString stringWithFormat:@"text/html"] forHTTPHeaderField: @"Content-Type"];
    [nsmRequest addValue:[NSString stringWithFormat:@"no-cache"] forHTTPHeaderField: @"Cache-Control"];
    
    //get response
    NSHTTPURLResponse* nsResponse = nil;
    NSError *nsError = nil;
    NSData *nsResponseData = nil;
    
    @try
    {
        nsResponseData = [NSURLConnection sendSynchronousRequest:nsmRequest returningResponse:&nsResponse error:&nsError];
    }
    @catch (NSException * e)
    {
        return 0;
    }
    
    
    if( nsResponseData == nil )
    {
        if( -1001 == [nsError code] )
        {
            return 0;
        }
        
        
        return 0;
    }
}

賦值代碼后,使用Charles抓包就好。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當前一些公司為了快速出一款app,很多時候采用UINavigationController+WebView或者Na...
    vicool閱讀 1,854評論 0 1
  • 在APP開發(fā)中,cookie也開始變的越來越重要了。為了更好的切換,注銷和登錄賬戶,就必須熟悉cookie的用法。...
    hzy1314閱讀 590評論 0 0
  • cookie機制采用的是在客戶端保持 HTTP 狀態(tài)信息的方案 Cookie是在瀏覽器訪問WEB服務(wù)器的某個資源時...
    葛高召閱讀 3,137評論 0 0
  • 網(wǎng)絡(luò)框架AFNetworking 沒有對Cookie 做過處理。 可以使用NSHTTPCookieStorage實...
    iOSWater閱讀 502評論 0 0
  • 在APP開發(fā)中,cookie也開始變的越來越重要了。為了更好的切換,注銷和登錄賬戶,就必須熟悉cookie的用法。...
    悲傷C小調(diào)閱讀 5,088評論 1 5

友情鏈接更多精彩內(nèi)容