2

我想用 Cocoa 以编程方式将网页保存到硬盘上,作为 Safari 之类的网络存档。

我昨天搜索了 Apple 的任何示例程序,但我只在 Apple Developers 页面上找到了一个 webarchive 类的类参考。我在 webarchive 类上玩了一点,不幸的是我的解决方案没有给出任何输出。

NSURL *url = [NSURL URLWithString:@"http://www.google.de"];
NSURLRequest *urlRequest = (NSMutableURLRequest*)[NSURLRequest requestWithURL:url
                                                                  cachePolicy:NSURLRequestUseProtocolCachePolicy 
                                                              timeoutInterval:30.0];
NSData *urlData;
NSURLResponse *response;
NSError *error;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest
                                returningResponse:&response
                                            error:&error];
WebArchive *wa = [[WebArchive alloc] initWithData:urlData];
NSData *waData = [wa data];
NSLog(@"%@", [[NSString alloc] initWithData:waData encoding:NSUTF8StringEncoding]);

我希望有人可以为我的问题发布解决方案。

提前致谢

迈克尔

4

2 回答 2

4

您需要实例化一个 WebView 并加载它,但这很容易:

[[[webView mainFrame] dataSource] webArchive]
于 2010-01-06T12:43:21.343 回答
0

我已经实例化了一个 WebView,但我不希望 WebView 此时加载 webarchive。我想下载一个网站作为网络存档并将其保存在硬盘上以备日后使用。稍后我加载此 webarchive,然后我将在 WebView 中显示它。

于 2010-01-06T13:54:42.650 回答