美文网首页
ios AFN网络请求通过获取cookies保持会话

ios AFN网络请求通过获取cookies保持会话

作者: 念念不忘一个丫头的容 | 来源:发表于2017-05-17 09:48 被阅读0次

在现在大多数的iOS的APP开发中,与服务端保持通信会话,更多的是使用token。但难免会需要使用到cookies。最近项目中就使用到了。
由于网上关于cookies的资料参差不齐,或者说基本都不适用于我吧。所以在此总结一下自己使用中遇到的坑吧。
首先,我在登录成功的回调函数中就记录下当时的cookie,并保存在本地中,全局调用。

    //获取cookie  
    NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookiesForURL:[NSURL URLWithString:url]];  
    for (NSHTTPCookie *tempCookie in cookies)  
            {  
                //打印cookies  
                NSLog(@"getCookie:%@",tempCookie);  
            }  
    NSDictionary *Request = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];  
      
    NSUserDefaults *userCookies = [NSUserDefaults standardUserDefaults];  
    [userCookies setObject:[Request objectForKey:@"Cookie"] forKey:@"mUserDefaultsCookie"];  
    [userCookies synchronize];  

再在你需要的页面中调用出你的cookie,并存放在请求头中即可

[session.requestSerializer setValue:[[NSUserDefaults standardUserDefaults]objectForKey:@"mUserDefaultsCookie"]forHTTPHeaderField:@"Cookie"];  

遇到的问题千千万,适合自己的只有这个,方便快捷,希望能帮到需要的人。

附上系统获取cookie的方法

//            NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
//            [cookieProperties setObject:@"mosoa" forKey:NSHTTPCookieName];
//            [cookieProperties setObject:[NSString stringWithFormat:@"%@",response[@"cookie"]] forKey:NSHTTPCookieValue];
//            [cookieProperties setObject:hostName forKey:NSHTTPCookieDomain];
//            [cookieProperties setObject:hostName forKey:NSHTTPCookieOriginURL];
//            [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
//            NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
//            [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];

相关文章

  • ios AFN网络请求通过获取cookies保持会话

    在现在大多数的iOS的APP开发中,与服务端保持通信会话,更多的是使用token。但难免会需要使用到cookies...

  • 最简单的iOS网络请求

    做iOS开发,说到网络请求,大家可能都不约而同的提到AFN,可以说大家的网络请求都是用AFN封装而成,AFN的强大...

  • iOS-网络相关

    本篇涵盖AFN、ASI、封装网络请求等. 1.iOS网络请求之ASI与AFN的二次封装及意义2.LXNetwork...

  • iOS网络框架简单封装

    AFN 简单封装--iOS重构-轻量级的网络请求封装实践 YTKNetworking 网络框架封装源码解析:网络层...

  • iOS AFN网络请求失败401时,如何获取后台返回的内容

    iOS AFN网络请求失败401时,如何获取后台返回的内容 开发中,会遇到当接口非200时,也需要去取后台返回的数...

  • iOS中AFN表单提交

    文章首次整理发布个人博客一之笔:iOS中AFN表单提交 AFN 几乎可以成为iOS开发,网络请求的终结者了,极大的...

  • AFN的基本使用(上传和下载)

    1.使用AFN上传数据 1,创建会话管理者对象 2,发送POST请求上传 2.使用AFN下载数据 1,创建会话管理...

  • AFN中的鉴权

    1. AFN 概览 作为 iOS 上最知名且最广泛使用的网络库,AFN 到底做了什么? 主要流程: 发起请求; 请...

  • YII读取和设置Cookie

    读取 Cookies 当前请求的cookie信息可通过如下代码获取: // 从 "request" 组件中获取 c...

  • selenium添加token绕过登录

    绕过登录 验证码的方法 WebDriver相关的Cookies操作 get_cookies(): 获取当前会话中当...

网友评论

      本文标题:ios AFN网络请求通过获取cookies保持会话

      本文链接:https://www.haomeiwen.com/subject/dozrxxtx.html