1. 程式人生 > >iOS端連線H5頁面的時候手動增加Cookie的值

iOS端連線H5頁面的時候手動增加Cookie的值

今天公司想要在所有iOS掉H5的頁面裡的請求頭的Cookie增加一個token欄位

  • 因為我們公司有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];

//獲取Cookie管理單例

    NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

//獲取Cookie內的欄位陣列

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

//獲取原Cookie內的欄位

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

//新增需要增加的Cookie欄位

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

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

    [_webView loadRequest:request];

然後再抓包看看Cookie是不是已經改變了。