1

我有一个要求,我必须处理站点的身份验证并将其加载到 UIWebview 中。在搜索网络后,我创建了一个新的 NSURLConnection 并处理了身份验证质询(如链接如何在 UIWebView 中显示身份验证质询? ) 使用它

一切正常,但我不明白下面的代码。

- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse *)response
{

        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
        NSString *newUrl = [NSString stringWithFormat:@"%@", response.URL];

        // cancel the connection. we got what we want from the response,
        // no need to download the response data.
        [connection cancel];


        //Start loading the new request in webView
        NSURL *url =[NSURL URLWithString:newUrl];
        NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url];

        [webView loadRequest:urlRequest];

}

这里 webview 只是再次加载请求而不重新发送 cookie 中的任何身份验证信息。然后我明白iOS 会自动处理 cookie 管理。但是当我尝试访问 cookie 并在身份验证后打印它时,它什么也没提供。我使用了以下一段代码来检索所有的cookies。

[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]

那么这是如何工作的呢?

4

1 回答 1

0

当时这是模拟器的一些问题。我能够在设备上运行应用程序时打印 cookie。

于 2013-07-30T06:28:41.573 回答