AFnetworking框架存储cookie和使用cookie请求总结

一篇文章搞定iOS的Cookie存取 Cookie中文名称叫做“小型文本文件”,指某些网站为了辨别用户身份而存储在用户本地终端上的数据(通常经过加密),下面这篇文章主要给大家介绍了关于iOS的Cookie存取的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。 Cookie简介 Cookie是在客户端存储服务器状态的一种机制,Web服务器可以通过Set-Cookie或者Set-Cookie2 HTTP头部设置Cookie。 Co... 阅读详情

  从response的HeaderField获得头文件,从头文件中通过NSHTTPCookie的cookiesWithResponseHeaderFields组成cookie的NSArray,将生成cookie的array,使用NSHttpCookie的reqeustHeaderFieldsWithCookies方法拼接成合法的http header field。最后set到request中即可。

         [manager.requestSerializer setValue:[requestFields objectForKey:@"Cookie"] forHTTPHeaderField:@"Cookie"];


使用以下代码进行请求,解析为cookie存入NSUserDefaults,全局单例类

[manager POST:requestUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        /**
         *  从response的HeaderField获得头文件,从头文件中通过NSHTTPCookie的cookiesWithResponseHeaderFields组成cookie的NSArray,将生成cookie的array,使用NSHttpCookie的reqeustHeaderFieldsWithCookies方法拼接成合法的http header field。最后set到request中即可。
         [manager.requestSerializer setValue:[requestFields objectForKey:@"Cookie"] forHTTPHeaderField:@"Cookie"];
         */
        NSDictionary *fields= [operation.response allHeaderFields];
        NSArray *cookies=[NSHTTPCookie cookiesWithResponseHeaderFields:fields forURL:[NSURL URLWithString:BaseURLString]];
        NSDictionary* requestFields=[NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
        [[NSUserDefaults standardUserDefaults] setObject:[requestFields objectForKey:@"Cookie"] forKey:mUserDefaultsCookie];
        
        

        // 使用jsonkit进行json解析
        int result=[self jsonToUserDefault:operation];
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        DLog(@"Error: %@", error);
        // 使用Bl的 loginfailed方法
        [_delegate loginFail];
    }];


在要使用时,从[NSUserDefaults standardUserDefaults]中取出,使用AFHTTPRequestOperationManager的[manager.requestSerializer setValue:   forHTTPHeaderField:];对NSMutableRequest的headerField中的cookie进行赋值。


 AFHTTPRequestOperationManager *manager           = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer                       = [AFJSONResponseSerializer serializer];
      [manager.requestSerializer setValue: [[NSUserDefaults standardUserDefaults] objectForKey:mUserDefaultsCookie]forHTTPHeaderField:@"Cookie"];
    manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/html"];
    NSString* suffix=[NSString stringWithFormat:@"?m=user&a=edit&nickname=%@&age=%@",nickName,age];
    NSString* requestUrl                             =[BaseURLString stringByAppendingString:suffix];

    NSString* utf8=[requestUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//将请求地址转换为utf8编码,使用默认unicode进行请求会报编码错误



iOS后台下载实践:使用NSURLSession和AFNetworking 每个实例都可以根据不同的需求进行自定义配置。以下是一些关键的自定义选项:: 设置单个请求的超时时间。: 设置数据传输的超时时间。: 指定会话的缓存策略。: 允许指定应用的服务类型,比如视频流、VoIP等,这会影响网络优先级和行为。通过自定义对象,开发者能够更加精细地控制会话行为,从而优化应用性能和用户体验。AFNetworking自发布以来就以其实用性和易用性被广大iOS开发者喜爱。它的一些核心特点包括:易于集成。 阅读详情

相关推荐

iOS AFNetworking中cookie重定向代码

// 1. 取出需要同步的url (登录请求中返回的重定向地址) BESTHttpItem *httpItem = [BESTHttpHelper sharedHelper].curHttpItem; NSString *url = [NSString stringWithFormat:@%@/#/login, httpItem.frontend_addr]; // 2. 取出当前的headerFields NSDictionary *headerFields = [NSHTTPCookie requestHeaderFieldsWithCookies:self.cookies]; //

iOS AFNetworking 以及 Cookie 详解

GitHub 访问地址:https://github.com/AFNetworking/AFNetworking 只需要拷贝 AFNetworking UIKit+AFNetworking 这两个目录中的文件就可以正常使用 下面的类已从AFNetworking 3.0中废弃:     AFURLConnectionOperation     AFHTTPRequestOpe

chenshun123的博客 9730

从零开始:在Ubuntu 22.04上配置Isaac Gym Preview 3环境(含常见错误解决方案)

本文提供了在Ubuntu 22.04系统上从零开始配置Isaac Gym Preview 3环境的完整实战指南。内容涵盖NVIDIA驱动安装、Conda环境搭建、CUDA与PyTorch版本精准匹配、Isaac Gym核心安装与验证,并重点介绍了针对四足机器人等复杂系统的强化学习训练环境配置、常见错误解决方案及性能调优技巧,旨在帮助开发者高效部署这一高性能物理仿真平台。

weixin_29048775的博客 393

AFNetworking 支持cookies的解决方案

摘要 AFNetworking是支持cookies,只不过它把这个逻辑交给了iOS 底层的api处理了。 Cookies are handled entirely by the Foundation URL Loading system, upon which AFNetworking is built. You have complete control over the behavior of

我心永恒的专栏 991

从SAS接口到InfiniBand:一张图看懂数据中心硬件‘黑话’(SFF-8643/8644、QSFP112、NDR/HDR/EDR)

本文深入解析数据中心硬件术语,从SAS接口标准(SFF-8643/8644)到速率标识(NDR/HDR/EDR),帮助工程师快速理解关键性能指标。特别对比了PCIe卡规格(HHHL/FHHL)和光模块选择(QSFP112/OSFP),并探讨InfiniBand在高性能网络中的优势,为硬件选型提供实用指南。

weixin_32103009的博客 432

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2288

iOS AFNetworking 中cookie如何使用

再开发过程我们会经常遇到请求数据时会带cookie,这个可以理解为安全验证,也是我们判断是否登录过期的,获取cookie的方式一般有两种,可能更多,但我遇到都是两种,第一种就是cookie登录成功后以返回值得方式获取到,再以参数的形式给后台。第二种就是cookie在网络协议中返回,在以同一种形式传给服务器 今天我们来说一下第二种 首先就是我们获取这个cookie,一般情况下我们这个cookie...

WangQingLei0307的博客 1285

实测有效!易灵思FPGA工程如何正确配置Efinity+Modelsim仿真环境

本文详细介绍了易灵思FPGA工程中如何高效配置Efinity与Modelsim联合仿真环境,包括软件版本匹配、系统环境变量设置、工程文件结构优化及仿真脚本深度优化等实战经验。通过实测数据验证,该方案可显著提升仿真效率,适用于不同规模的设计验证,帮助工程师快速搭建稳定高效的联仿环境。

m2n3b4v5c6的博客 405

ios 优化html表单提交,iOS 使用AFNetworking的form表单请求

首先说明下form表单请求,是一种特殊的post请求,请求方式有application/x-www-form-urlencoded、multipart/form-data、application/json。其中application/json就是我们常见的post请求,使用AFN直接请求即可。下面开始正式的内容,如何使用AFNetworking完成form表单请求1、application/x-w...

weixin_42499586的博客 1330

如何在windows下使用cmake编译源码

MyProject/└── build/在MyProject目录下创建并编辑。创建build目录并进入。使用cmake命令生成构建文件。使用适当的命令编译项目。运行生成的可执行文件。

cdj444asdg的博客 3345

【嵌入式DIY实例ESP32篇】-步数计数器

在本项目中,我们将使用 ESP32 微控制器和博世的 BMI160 加速度计陀螺仪模块构建一款便携式计步器

视觉与物联智能 803

AFN获取cookie与设置cookie

1获取cookie[manager POST:requestUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { /** * 从response的HeaderField获得头文件,从头文件中通过NSHTTPCookie的cookiesWithResponseHea

LTOVE 6850

ZW3D 二次开发-制作插件

1.Windows 7 SP1 或 Windows 10 或 Windows 11(推荐 Windows 11)2.Visual studio 2017-2022 (或 C/C++的任何其他集成开发环境)(推荐 Visual studio 2022)3.ZW3D 2023 或以上版本(建议使用与 ZW3D 一致的 API 的版本)4.Qt5.9.7(for Windows)博主学习使用环境的是:Windows 11 Version 24H2 + Visual studio 2022 + Qt5.9.7(fo

fhqiwmc的博客 812

iOS AFNetworking进行网络请求时带上登陆成功后台返回的cookie

第一步,在登陆成功后存储cookie到本地  登陆的接口,无需带用户名和密码  NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURLURLWithString:@"请求地址] ];         NSData *UserData = [NSKeyedArc

今天明天 907

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

iOS 使用AFNetworking 3.1.0如何在请求头中加入cookie

iOS 使用AFNetworking 3.1.0如何在请求头中加入cookie 我们在使用AFNetworing 的时候, 公司对数据的处理有些是对请求数据的参数进行一些加密而有些是在请求之前在请求头中加入cookie来处理,这样当用户登录之后就不需要再传一些参数对后续数据进行请求,只需要一个cookie和URL就可以搞定数据请求了,目前我们大多数请求都是遵循http协议,不清楚的童鞋可

ago_lei的博客 3953

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS的Cookie存取(UIWebView,WKWebView,AFNetworking)

2016-07-01 09:24 1964人阅读 评论(1) 收藏 举报  分类: iOS开发(396)  目录(?)[+] 当前一些公司为了快速出一款app,很多时候采用UINavigationController+WebView或者NavigationController+UITabbarVC+WebView的方式,这样就不可避免的需要使

ab351706354的专栏 826

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iOS webView、WKWebView、AFNetworking 中的cookie存取

当前一些公司为了快速出一款app,很多时候采用UINavigationController+WebView或者NavigationController+UITabbarVC+WebView的方式,这样就不可避免的需要使用cookie与Html5交互,下面讲述几种常用情景下cookie的添加方法: 一. UIWebView: // 工厂类中存储cookie的方法 + (void)sa...

aoxianzhuo5029的博客 164

AFNetworking3.0的基本使用

AFNetworking3.0的基本使用方法 前一段时间在做项目的时候发现AFNetworking3.0已经被大众所接受,所以以后肯定会有很多程序猿朋友必须了解和转移至3.0了,这是我这段时间使用和学习总结出来的一些常用的知识点,希望对大家有用。 AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0

九天揽月 571

cookie 百科_Cookie简介

级别: ★☆☆☆☆标签:「iOS 」「Cookie简介」「AFN Cookie」「NSURLSession Cookie」作者: WYW审校: QiShare团队前言 笔者最近看了部分关于Cookie的内容,写了如下文字,给大家分享下。Cookie是什么CookieCookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常...

weixin_39861624的博客 398

iOS开发之wkwebview与AFNetworking共享cookie

一般在web与js的交互中想再post时需要拿到web里的用户信息,登录状态等,需要传递web的cooki wk设置–>wk获取–>存储–>af取–>af设置 wkwebview的处理 WKWebViewConfiguration *config = [WKWebViewConfiguration new];...

Simona_1973的博客 1108

AFNetworking 保存Cookie Session 和 Webview 共享Cookie

1, 请求并携带SessionId, 代码如下: //当请求成共后调用如下代码, 保存Cookie NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString:kServerAddress]]; NSData *data = [NSKe...

weixin_30918633的博客 182

htttp网络请求cookie的读取与写入(NSHTTPCookieStorage)

一.Cookie Cookie是在客户端存储服务器状态的一种机制,Web服务器可以通过Set-Cookie或者Set-Cookie2 HTTP头部设置Cookie。 Cookie可以分为两类,会话Cookie和持久Cookie,会话Cookie是临时Cookie,当前会话结束(浏览器退出)时Cookie会被删除。持久Cookie会存储在用户的硬盘上,浏览器退出,然后重新启动后Cookie...

u014380815的专栏 2732

AFNetworking3.0的基本使用方法

前一段时间在做项目的时候发现AFNetworking3.0已经被大众所接受,所以以后肯定会有很多程序猿朋友必须了解和转移至3.0了,这是我这段时间使用和学习总结出来的一些常用的知识点,希望对大家有用。 AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于NSURLConnectionAP...

aishi9935的博客 156
上一篇: NSUserDefaults读取和写入自定义对象
下一篇: NSTimer杂想&利用background的location可以使后台的motionManager一直运行。
粒橙Leo
博客等级 码龄15年 6粉丝 43原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值