客观的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会自动发送。 我希望这会为你服务。