Cookie 实现WebView自动登录

#import "ViewController.h"#import "AppDelegate.h"@interface ViewController ()@end@implementation ViewController@synthesize MyWebview;- (void)viewDidLoad{ [super viewDidLoad];// Do any additional setup after loading the view, typically from a nib. NSURL * url = [NSURL URLWithString:@"http://www.baidu.com"]; NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url]; NSArray*cookies=[[NSHTTPCookieStorage sharedHTTPCookieStorage]cookiesForURL:url]; // 设置header,通过遍历cookies来一个一个的设置header// for (NSHTTPCookie *cookie in cookies){// // // cookiesWithResponseHeaderFields方法,需要为URL设置一个cookie为NSDictionary类型的header,注意NSDictionary里面的forKey需要是@"Set-Cookie"// NSArray *headeringCookie = [NSHTTPCookie cookiesWithResponseHeaderFields:// [NSDictionary dictionaryWithObject:// [[NSString alloc] initWithFormat:@"%@=%@",[cookie name],[cookie value]]// forKey:@"Set-Cookie"]// forURL:url];// // // 通过setCookies方法,完成设置,这样只要一访问URL为HOST的网页时,会自动附带上设置好的header// [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:headeringCookie// forURL:url// mainDocumentURL:nil];// // } NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies]; [request setHTTPMethod:@"POST"]; [request setHTTPShouldHandleCookies:YES]; [request setAllHTTPHeaderFields:headers]; [self.MyWebview loadRequest:request]; }-(void)webViewDidFinishLoad:(UIWebView *)webView{ NSArray *nCookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; NSHTTPCookie *cookie; for (id c in nCookies) { if ([c isKindOfClass:[NSHTTPCookie class]]) { cookie=(NSHTTPCookie *)c; NSLog(@"%@: %@", cookie.name, cookie.value); [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; } } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值