解析 html 时 NSData 返回 nil

Posted

技术标签:

【中文标题】解析 html 时 NSData 返回 nil【英文标题】:NSData return nil when parse html 【发布时间】:2014-12-16 09:47:33 【问题描述】:

我想从这个网站“http://phim14.net/”获取一些信息。 我使用此代码:

NSURL *url = [NSURL URLWithString:@"http://phim14.net/"];
     NSError *error;
     NSData *htmlData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&error];
     TFHpple *parser = [TFHpple hppleWithHTMLData:htmlData];

一开始这段代码是有效的,我可以得到一些信息。但是经过几次尝试后,我遇到了“htmlData”返回 nil 的错误,所以我认为该网站已关闭,但我可以使用 Firefox 连接到该网页。我尝试解析其他网站,但它仍然可以吗? 我尝试打印出错误,它说

`"error NSError *   domain: @"NSCocoaErrorDomain" - code: 256   0x00007fbb224023c0"`

请大家帮我看看是什么问题?

【问题讨论】:

重复***.com/questions/10106087/… 其实不一样请看我的问题 【参考方案1】:

似乎errorcode 256 没有太多描述。所以为了安全地从URL获取数据,请使用 sendSynchronousRequest:returningResponse:error:NSURLConnection获取数据。

NSData* data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30] returningResponse:nil error:&error];

还请检查这些answer1、answer2

【讨论】:

【参考方案2】:

您的 URL 缺少方案:“http://”,这是给您的错误:

Error -> Error Domain=NSCocoaErrorDomain Code=256

尝试将其添加到 URL 中,它应该可以工作。

【讨论】:

以上是关于解析 html 时 NSData 返回 nil的主要内容,如果未能解决你的问题,请参考以下文章

CoreData 在返回数组时需要一个字符串,在返回一个字符串时需要 NSData

为啥以下代码从 NSData 返回不正确的值?

解决NSData转NSString返回nil的问题

将 NSData 转换为 NSString 返回 nil

为 iphone 解析 json 时获取空值?

iphone:NSDATA dataWithContentsOfURL 返回 null