iOS UIWebView設定Cookie
1742 ワード
UIWebViewを使用してWebページをロードする場合、Cookieを転送する必要がある場合があります.
実装コードは次のとおりです.
その前に、クッキーを設定または削除します.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////:uid forKey:NSHTTPCookieValue;[cookieProperties setObject:@"xxx.xxx.com"forKey:NSHTTPCookieDomain]; [cookieProperties setObject:@"/"forKey:NSHTTPCookiePath]; [cookieProperties setObject:@"0"forKey:NSHTTPCookieVersion]; [cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
//クッキーをクリア-(void)deleteCookie{NSHTTPCookie*cookie;
実装コードは次のとおりです.
[self setCookie];// cookie
その前に、クッキーを設定または削除します.
NSURL *url = [NSURL URLWithString:_urlstr];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
[self.myWeb loadRequest:request];
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////:uid forKey:NSHTTPCookieValue;[cookieProperties setObject:@"xxx.xxx.com"forKey:NSHTTPCookieDomain]; [cookieProperties setObject:@"/"forKey:NSHTTPCookiePath]; [cookieProperties setObject:@"0"forKey:NSHTTPCookieVersion]; [cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookieuser = [NSHTTPCookie cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookieuser];
}
NSHTTPCookieStorage
は、共有を管理するクッキーを実装し、singletonオブジェクト(共有インスタンス)を格納します.これらのクッキーは、すべてのアプリケーション間で共有され、プロセス間で同期的に保存されます.//クッキーをクリア-(void)deleteCookie{NSHTTPCookie*cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookieAry = [cookieJar cookiesForURL: [NSURL URLWithString: _urlstr]];
for (cookie in cookieAry) {
[cookieJar deleteCookie: cookie];
}
}