OC里NSMutableURLRequest/NSURLRequest里的cookie

Posted wen_rc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC里NSMutableURLRequest/NSURLRequest里的cookie相关的知识,希望对你有一定的参考价值。

  1. OC里NSMutableURLRequest/NSURLRequest没有设置cookie会用默认cookie
  2. OC里cookie用二级域名存,如qq.com(存储时是.qq.com),就是说v.qq.com可以用sports.qq.com的cookie,在浏览器这我记得是不允许的

问题:下付费视频需要鉴权,鉴权其中一环是请求时需要带cookie,但我使用NSMutableURLRequest请求时没带上cookie,竟然也能正常请求,先排出后台出了问题,应该是什么情况带上了cookie。

后来发现oc也有默认cookie这一说,而且默认cookie这里域名分得还不细,直接用二级域名,比如video.qq.com登录了,cookie的域名会用.qq.com存,这样其他域名比如sports.qq.com也能用这个cookie。而如果不设置cookie,或者下面cookie变量的值为nil,那都会使用默认cookie。

[request setValue:cookie forHTTPHeaderField:@"Cookie"];

https://developer.apple.com/documentation/foundation/nsmutableurlrequest/1408793-setvalue?language=objc
https://developer.apple.com/documentation/foundation/nsmutableurlrequest/1415485-httpshouldhandlecookies?language=objc

以上是关于OC里NSMutableURLRequest/NSURLRequest里的cookie的主要内容,如果未能解决你的问题,请参考以下文章

swift之OC与Swift混编

OC多文件开发介绍

OC如何跳到系统设置里的各种设置界面

如何在OC中使用Swift如何在Swift中使用OC

swift与oc混编

OC与Swift混编