手动增加Cookie值(iOS端连接H5页面)

为改善用户体验,本文介绍了一种方法,在iOS应用内嵌H5页面时实现单点登录。通过在iOS端向H5页面的Cookie中添加token,避免用户重复登录,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        因为我们公司有H5端,也有 ios 端,当iOS端跳进H5端的时候,此时iOS端登录了,而H5端不能直接登录,这样就会造成用户困扰,即需要用户进行双登录,用户体验极为不好。因此我们准备在iOS端对H5的请求头的Cookie中加入token字段就能解决这个问题。 

在加载web view的地方:

// 加载URL

    NSURL *url = [NSURL URLWithString:@"https://mtj.baidu.com/web/welcome/login"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
 
  • 1
  • 2
  • 1
  • 2

//获取Cookie管理单例

    NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
 
  • 1
  • 1

//获取Cookie内的字段数组

    NSMutableArray *cookies = (NSMutableArray *)[sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"https://mtj.baidu.com/web/welcome/login"]];
 
  • 1
  • 1

//获取原Cookie内的字段

 NSString *cookieStr = @"";
    for (NSHTTPCookie *cookie in cookies) {
        NSString *cookieString = [NSString stringWithFormat:@"%@=%@", [cookie name], [cookie value]];
        cookieStr = [cookieStr stringByAppendingString:@" "];
        cookieStr = [cookieStr stringByAppendingString:cookieString];
    }

 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

//添加需要增加的Cookie字段

    NSString *addCookie = [NSString stringWithFormat:@"%@=%@",@"token",@"测试一下"];
    cookieStr = [NSString stringWithFormat:@"%@ %@",cookieStr,addCookie];

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

    [_webView loadRequest:request];
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后再抓包看看Cookie是不是已经改变了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值