3

我有以下代码。

NSData *pageData = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
NSString *webpage = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];

这适用于大多数页面,但会截断非常长的页面,有没有办法解决这个问题?

4

2 回答 2

4

我相信这就是您正在寻找的(来自NSString上面链接的类参考):

stringWithContentsOfURL:encoding:error:

返回通过从使用给定编码解释的给定 URL 读取数据创建的字符串。

(id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error

参数
url要读取的 URL。

enc url 处数据的编码。

error如果发生错误,则在返回时包含NSError描述问题的对象。如果你对可能的错误不感兴趣,你可以传入NULL.

返回值通过使用编码enc从URL
读取数据创建的字符串。如果 URL 无法打开或存在编码错误,则返回.nil

于 2009-07-15T21:08:36.090 回答
3

看看这个方法:

http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/clm/NSString/stringWithContentsOfURL:encoding:error

如果您只是使用同步请求,这应该没问题。

于 2009-07-15T20:27:40.493 回答