我正在尝试在 UIWebView 内基于 Web 的表单登录中使用 ASIHTTPRequest 库完成自动登录。我想让它持久化,因此用户在 UIWebView 中发出的以下请求使用网络库提供的凭据。
我试过这个:
- (void)viewDidLoad {
[super viewDidLoad];
NSString *fullURL = @"http://myweb/loginform";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setUseKeychainPersistence:YES];
[request setUseSessionPersistence:YES];
[request setUseCookiePersistence:YES];
[request setPostValue:@"myuser" forKey:@"__ac_name"];
[request setPostValue:@"mypass" forKey:@"__ac_password"];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request {
NSError *error = [request error];
if (!error) {
[webView loadData:[request responseData] MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[request url]]; }
}
但是当我尝试通过 UIWebView 导航时,凭据不会保留在其中,并且会收到未经身份验证的请求。
有一种方法可以在 ASIHTTPRequest 世界和 UIWebView 之间共享凭据吗?
提前致谢。