给NSURLRequest 加点cookie

最近项目中碰到的需求是,在混合 开发中,给H5 的请求加点cookie
怎么调试,怎么塞,怎么验证呢;

这次我们拿 https://www.baidu.com 来做实验,插入我自己的名字 拼音 pengchaothis is my cookie ;

实验结果如图:
第一步,允许你的iphone 或者 ios simluator 允许开发者调试,怎么做呢;

iphone -> 设置 -> Safari -> 高级 - >javaScript 和 web检查器 勾选;

第二步,找到 mac 的 Safari 浏览器,打开偏好设置,找到最下方的,在菜单栏中显示"开发"菜单;
第三步,运行代码,在safari 的开发中,找到 正在调试的 iphone 或者 simluator

,找到对应的那个 请求的域名,或者详细链接,会出现类似chrome 的开发者工具

第四步:放代码 ,就用webView 模拟了一个请求,塞了一个自定义cookie
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    NSString *urlStr = @"https://www.baidu.com";
    NSURL *url =[NSURL URLWithString:urlStr];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    NSHTTPCookie *cookie = [self setName:@"pengchao" value:@"this is my  cookie"];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    [self.webView loadRequest:request];
}
写一个常用的方法,只传name 和 value 即可,如果需要别的设置,可以自定义,最好封装一下,以供下次单独使用
-(NSHTTPCookie *)setName:(NSString *)CookieName value:(NSString *)CookieValue{
    
    NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
    [cookieProperties setObject:CookieName forKey:NSHTTPCookieName];
    //设置cookie 的name
    [cookieProperties setObject:CookieValue forKey:NSHTTPCookieValue];
    //设置cookie 的name 对应的value 值
    [cookieProperties setObject:@".baidu.com" forKey:NSHTTPCookieDomain];
    //设置cookie 的域
    [cookieProperties setObject:@".baidu.com" forKey:NSHTTPCookieOriginURL];
    //
    [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
    //设置cookie在哪个路径下
    [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
    //设置cookie的版本
    [cookieProperties setObject:[NSDate dateWithTimeIntervalSinceNow:60*60*24] forKey:NSHTTPCookieExpires];
    //设置失效时间
    [cookieProperties setObject:@"0" forKey:NSHTTPCookieDiscard];
    //设置sessionOnly
    
    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
    return cookie;
}

代码,我就不解释啦,所有代码都在这,如果用户需要缓冲到本地,可以用 NSUserDefaults

妈妈再也不用担心我给H5 塞cookie 出问题了


最后几张图,帮你找到iphone safari 的调试地方:



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,687评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 2016年06月01日周三晴“儿童节” 我的6月1日最特别,我们去了一个特别的地方,这个地方可以捉鱼,可以插秧,可...
    侦探迷阅读 319评论 0 0
  • 这两天学游泳,还是有所收获。 下水后总是漂不起来,按照教练的说法,放松绷直自然会漂起,可是我就是不行,肩部紧张,头...
    叫我什么好阅读 208评论 0 0
  • 一个大学学历和一个小学学历的人(但由于他进入社会早 为人处事方面不错,懂得东西也很多)两个人结婚了会幸福吗
    staread阅读 282评论 0 0