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

猜你喜欢

转载自blog.csdn.net/ZhaoBuDaoFangXia/article/details/102702286