
本文共 5331 字,大约阅读时间需要 17 分钟。
iOS Cookie���������������������
Cookie������
Cookie���������������������������������������rowsers���������������������������������Web���������������Set-Cookie���Set-Cookie2 HTTP������������Cookie������������������������Cookie���������Cookie���������������Cookie������������������������������������������Cookie������������������������������������������������������0���Netscape Cookies������������1���RFC 2965���������������������������������������������0���
������
���������iOS���������������������������WebView������������������������Cookie���Html5������������������������������������������������������������Cookie������������������
UIWebView
UIWebView���iOS������������������WebView���������������������������������������������������Cookie������������������������������������������������������Cookie���������������������
+ (void)saveCookies { NSMutableDictionary *fromappDict = [NSMutableDictionary dictionary]; [fromappDict setObject:@"fromapp" forKey:NSHTTPCookieName]; [fromappDict setObject:@"ios" forKey:NSHTTPCookieValue]; [fromappDict setObject:kDomain forKey:NSHTTPCookieDomain]; [fromappDict setObject:kDomain forKey:NSHTTPCookieOriginURL]; [fromappDict setObject:@"/" forKey:NSHTTPCookiePath]; [fromappDict setObject:@"0" forKey:NSHTTPCookieVersion]; NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:fromappDict]; NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; [cookieStorage setCookie:cookie];}
UIWebView������������������������Cookie������������Html5���������������������������������������������������������������������������������������������������������������������
WKWebView
WKWebView������UIWebView���������������������������������������������������������������������������������������Cookie���������������������������������WKWebView���Cookie���������������
1. ���������������Cookie
WKWebViewConfiguration *webConfig = [[WKWebViewConfiguration alloc] init];webConfig.preferences = [[WKPreferences alloc] init];webConfig.preferences.minimumFontSize = 10;webConfig.preferences.javascriptEnabled = YES;webConfig.preferences.javaScriptCanOpenWindowsAutomatically = NO;webConfig.processPool = [[WKProcessPool alloc] init];NSString *cookieValue = @"document.cookie = 'fromapp=ios';document.cookie = 'channel=appstore';";WKUserContentController *userContentController = WKUserContentController.new;WKUserScript *cookieScript = [[WKUserScript alloc] initWithSource:cookieValue injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];[userContentController addUserScript:cookieScript];webConfig.userContentController = userContentController;WKWebView *wkWebView = [[WKWebView alloc] initWithFrame:frame configuration:webConfig];wkWebView.UIDelegate = wkWebView;wkWebView.navigationDelegate = wkWebView;
2. ������URL���������Cookie
���������������������URL������������������������������ Cookie ���������������������������
- (void)loadRequestWithUrlString:(NSString *)urlString { NSMutableDictionary *cookieDic = [NSMutableDictionary dictionary]; NSMutableString *cookieValue = [NSMutableString stringWithFormat:@""]; NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in [cookieJar cookies]) { [cookieDic setObject:cookie.value forKey:cookie.name]; } for (NSString *key in cookieDic) { NSString *appendString = [NSString stringWithFormat:@"%@=%@;", key, [cookieDic valueForKey:key]]; [cookieValue appendString:appendString]; } NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]]; [request addValue:cookieValue forHTTPHeaderField:@"Cookie"]; [self loadRequest:request];}
3. AFNetworking���������
���AFNetworking���������Cookie������������������������������������������������������
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];NSMutableDictionary *cookieDic = [NSMutableDictionary dictionary];NSMutableString *cookieValue = [NSMutableString stringWithFormat:"fromapp=ios;"];NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];for (NSHTTPCookie *cookie in [cookieJar cookies]) { [cookieDic setObject:cookie.value forKey:cookie.name];}for (NSString *key in cookieDic) { NSString *appendString = [NSString stringWithFormat:@"%@=%@;", key, [cookieDic valueForKey:key]]; [cookieValue appendString:appendString];}[operationManager.requestSerializer setValue:cookieValue forHTTPHeaderField:@"Cookie"];NSDictionary *paraDict = @{ @"key": @"value"};NSString *urlStr = [NSString stringWithFormat:@"%@%@", kHostIP, kPath];[operationManager POST:urlStr parameters:paraDict success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { NSLog(@"responseObject -> %@", responseObject);} failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) { NSLog(@"error -> %@", error);}];
������
���������������������iOS���Cookie���������������������������UIWebView���WKWebView������������������AFNetworking������������������������������������������������������������������������������ Cookies������������������������������������������������������������������������������������������������������������������������������������624212887 ������������
发表评论
最新留言
关于作者
