Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSURLRequest返回空数据(但仅有时)_Iphone_Null_Nsurlrequest - Fatal编程技术网

Iphone NSURLRequest返回空数据(但仅有时)

Iphone NSURLRequest返回空数据(但仅有时),iphone,null,nsurlrequest,Iphone,Null,Nsurlrequest,我试图从craigslist HTML页面中提取一些数据,但我似乎遇到了一个奇怪的错误——每隔一段时间,我试图用NSURLRequest加载的页面就会以某种奇怪的数据形式返回,当转换为可解析字符串时,返回null。然而,我无法始终如一地复制它——它会突然停止工作,然后我会在一小时后再次尝试,它会工作得很好,然后一段时间后它会再次停止工作。有人知道是什么引起的吗?我使用了一个NSURLRequest,异步,以及'didReceiveData'和'didReceiveResponse'委托方法。如果

我试图从craigslist HTML页面中提取一些数据,但我似乎遇到了一个奇怪的错误——每隔一段时间,我试图用NSURLRequest加载的页面就会以某种奇怪的数据形式返回,当转换为可解析字符串时,返回
null
。然而,我无法始终如一地复制它——它会突然停止工作,然后我会在一小时后再次尝试,它会工作得很好,然后一段时间后它会再次停止工作。有人知道是什么引起的吗?我使用了一个NSURLRequest,异步,以及'didReceiveData'和'didReceiveResponse'委托方法。如果我将NSURLResponse转换为NSHTTPURLResponse并检查响应代码,则得到200,这意味着没有问题。但当我用响应数据初始化一个字符串时,它返回
null
,我显然无法解析它

最常使用的URL是:


我尝试过处理请求的用户代理头、缓存策略以及我能想到的一切。。。但是似乎没有什么可以解决它。

如果有数据,但当您请求字符串时,它是空的,那么我可能会怀疑您用于解码数据的字符串编码?craigs list广告标题中有没有偶尔出现的奇怪角色

出于兴趣,为什么不改用rss提要呢?它的格式可能更一致/编码更严格,因为它是xml而不是html


你看过回复数据了吗?它看起来像什么?@Matt如果我直接记录增量数据,我会听到一堆乱七八糟的声音,这意味着那里有数据,但是如果我将它转换成一个字符串,使用
[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding]
,然后记录它返回的字符串
null
。嗨。我想知道craigslist是否检测到解析数据的连接并限制活动?我没看过craigs,但你是在使用特定的API还是只是连接和抓取?@MightyLeader我想可能也是这样,因为我只是抓取HTML页面并抓取它。然而,似乎只有几个Craigslist类别显示了这种行为——其余绝大多数类别在我每次提出请求时都能可靠地加载。(也就是说,我发布的示例URL是针对“家电”类别的——“电子”类别(以及大多数其他类别)始终可靠加载,无论我多久点击一次)我想你可以尝试检测空响应并重试?因为RSS提要限制在最新的25、50左右。。。是的,字符串编码不正确。改变它解决了这个问题。