我的问题如下:
在整个应用程序中使用库Afnetworking effettura将请求发送到我的webserver.Dopo我自己通过对服务器的特殊发布请求进行身份验证我在请求中获取cookie并且库Afnetworking自动将其保存在sharedHTTPCookieStorage中。
由于webview没有自动使用这些cookie,我编写了这个方法来将cookie与先前找到的请求相关联:
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
NSString* domainName = [cookie domain];
NSRange domainRange = [domainName rangeOfString:@"mydomain"];
if(domainRange.length > 0)
{ NSLog(@"Cookie find for domain url");
NSLog(@"COOKIE.VALUE = %@",cookie.value);
NSLog(@"COOKIE = %@",cookie);
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"my_url"]];
//URL Requst Object
NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];
[requestObj addValue:[NSString stringWithFormat:@"%@",cookie] forHTTPHeaderField:@"Cookie"];
return requestObj;
然后[self.webView loadRequest:requestObj];
但似乎服务器不处理任何cookie。
我还需要在webview请求中使用cookie,之前已通过使用库afnetworking进行的帖子请求登录。
提前致谢。