热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

IOS网络请求中设置cookie

这篇文章主要介绍了IOS网络请求中设置cookie的相关资料,需要的朋友可以参考下

IOS 网络请求中设置COOKIE

1. ASIHTTPRequest

ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。

COOKIE的支持

    如果 COOKIE 存在的话,会把这些信息放在 NSHTTPCOOKIEStorage 容器中共享,并供下次使用。你可以用 [ ASIHTTPRequest setSessionCOOKIEs:nil ] ; 清空所有 COOKIEs。当然,你也可以取消默认的COOKIE策略,而使自定义的COOKIE:

-(NSMutableArray*)retrunCOOKIEs{ 
  NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease]; 
  [properties setValue:[LoginViewController getLanguageType:loginInfo.lang] forKey:NSHTTPCOOKIEValue]; 
  [properties setValue:@"BENGGURU.GAIA.CULTURE_CODE" forKey:NSHTTPCOOKIEName]; 
  [properties setValue:@"" forKey:NSHTTPCOOKIEDomain]; 
  [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCOOKIEExpires]; 
  [properties setValue:@"" forKey:NSHTTPCOOKIEPath]; 
  NSHTTPCOOKIE *COOKIE = [[[NSHTTPCOOKIE alloc] initWithProperties:properties] autorelease]; 
  return [NSMutableArray arrayWithObject:COOKIE]; 
}
[request setRequestCOOKIEs:[self retrunCOOKIEs]];         //发送COOKIEs,根据用户的选择,返回相应语言。

2.  NSMutableURLRequest(可以用于webview)

NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease]; 
      [properties setValue:userId forKey:NSHTTPCOOKIEValue]; 
      [properties setValue:@"BENQGURU.GAIA.USERID" forKey:NSHTTPCOOKIEName]; 
      [properties setValue:@"" forKey:NSHTTPCOOKIEDomain]; 
      [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCOOKIEExpires]; 
      [properties setValue:@"/" forKey:NSHTTPCOOKIEPath]; 
      NSHTTPCOOKIE *COOKIE = [[[NSHTTPCOOKIE alloc] initWithProperties:properties] autorelease]; 
      NSDictionary *properties1 = [[[NSMutableDictionary alloc] init] autorelease]; 
      [properties1 setValue:[LoginViewController getLanguageType:loginInfo.lang] forKey:NSHTTPCOOKIEValue]; 
      [properties1 setValue:@"BENGGURU.GAIA.CULTURE_CODE" forKey:NSHTTPCOOKIEName]; 
      [properties1 setValue:@"" forKey:NSHTTPCOOKIEDomain]; 
      [properties1 setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCOOKIEExpires]; 
      [properties1 setValue:@"/" forKey:NSHTTPCOOKIEPath]; 
      NSHTTPCOOKIE *COOKIE1 = [[[NSHTTPCOOKIE alloc] initWithProperties:properties1] autorelease]; 
      NSArray *COOKIEs=[NSArray arrayWithObjects:COOKIE,COOKIE1,nil]; 
      NSDictionary *headers=[NSHTTPCOOKIE requestHeaderFieldsWithCOOKIEs:COOKIEs]; 
      NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:[object valueForKey:@"url"]]]; 
      [request setValue:[headers objectForKey:@"COOKIE"] forHTTPHeaderField:@"COOKIE"]; 
      [webView loadRequest:request]; 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
  • 探讨了在 iOS 平台上使用 WebView 组件时遇到的内存占用过高问题,并提供了一系列有效的优化策略。 ... [详细]
  • KVO(键值观察)是iOS开发中的一项重要技术,它允许一个对象监视另一个对象的属性变化,并在这些属性发生变化时得到通知。KVO特别适用于需要响应模型数据变化的场景。 ... [详细]
  • Web App vs Native App:未来的移动应用趋势
    随着移动互联网的发展,Web App和Native App之间的竞争日益激烈。对于开发者而言,选择哪一种技术路径更为明智?本文将深入探讨两种应用模式的特点及未来趋势。 ... [详细]
  • 在进行微信小程序开发过程中,遇到了需要实现类似微信朋友圈那样的长文本折叠功能的需求。本文将详细探讨其实现方法及注意事项。 ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • 探讨了在使用 iOS WebView 加载包含无限滚动功能的列表时,快速滑动导致应用冻结的原因及解决方法。 ... [详细]
  • 本文探讨了在安卓设备上的微信H5环境中,如何解决长按图片时无法保存或分享Base64编码图片及Blob形式图片的问题,并提供了有效的解决方案。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文详细探讨了如何在Docker环境中实现单机部署Redis集群的方法,提供了详细的步骤和配置示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了使用不同工具和方法来查看设置了密码保护的易语言源码的方法。不仅限于特定浏览器,还提供了使用Chrome等主流浏览器的解决方案。 ... [详细]
author-avatar
霹靂一頁書_629
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有