客观的c发送cookies到uiwebview
我需要发送cookie来login到UIWebView,但是当我加载网页时,cookies还没有被发送。
我的代码是:
CorreoViewController.m
- (void)viewDidLoad { [super viewDidLoad]; self.title =AMLocalizedString(@"Correo", @""); NSURL *url=[NSURL URLWithString:@"https://cuentas.uv.es/cgi-bin/p/user/Usuario"]; NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url]; NSArray * cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies: cookies]; [request setHTTPMethod:@"Post"]; [request setHTTPShouldHandleCookies:YES]; [request setAllHTTPHeaderFields:headers]; NSLog(@"Request: %@", [[request allHTTPHeaderFields] objectForKey:@"cookie"]); [self.webView loadRequest:request]; // Do any additional setup after loading the view. }
我在cookie存储中的cookies是:
COOKIE 0:NSHTTPCookie版本:0名: “PAPIAuthNcook” 值: “nBNqHJSdjgo1aBw0uGh3AXzElIHCxA%2FDbnipSHWZbU5Eh1cJfUr18GEP9zxB%2BL%2FZGPBAKQu6oF2l%0AzIMt7ywiSECLBuOHJnvS7y6rVim2HfE%3D%0A” expiresDate:(空)发布:2014年1月16日15时05分41秒+0000(4.11578 e + 08)sessionOnly:TRUE域:“cuentas.uv.es”path:“/”isSecure:FALSE
COOKIE 1:NSHTTPCookie版本:0名称:“PAPIslist”值:“17201128679244079 | https://uvapp.uv.es/”expiresDate:(null)created:2014-01-16 15:05:41 +0000(4.11578e +08)sessionOnly:TRUE域:“cuentas.uv.es”path:“/”isSecure:FALSE
COOKIE 2:NSHTTPCookie版本:0名: “PAPIAuthNcook” 值: “nBNqHJSdjgo1aBw0uGh3AXzElIHCxA%2FDbnipSHWZbU5Eh1cJfUr18GEP9zxB%2BL%2FZGPBAKQu6oF2l%0AzIMt7ywiSECLBuOHJnvS7y6rVim2HfE%3D%0A” expiresDate:(空)创build的:2014年1月16日15时05分41秒0000(4.11578 e + 08)sessionOnly:TRUE域:“as.uv.es”path:“/”isSecure:FALSE
COOKIE 3:NSHTTPCookie版本:0名称:“PAPIslist”值:“17201128679244079 | https://uvapp.uv.es/”expiresDate:(null)created:2014-01-16 15:05:41 +0000(4.11578e +08)sessionOnly:TRUE域:“as.uv.es”path:“/”isSecure:FALSE
AppDelegate.m
- (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. [[NSHTTPCookieStorage sharedHTTPCookieStorage]setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; }
先谢谢你。
评论这一行:
NSArray * cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies: cookies]; [request setAllHTTPHeaderFields:headers];
cookies会自动发送。 我希望这会为你服务。