Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.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
HTML因空字符而被截断_Html_Ios_Objective C - Fatal编程技术网

HTML因空字符而被截断

HTML因空字符而被截断,html,ios,objective-c,Html,Ios,Objective C,我正在从服务器下载HTML(一个我不能控制),有时响应将包含一个“代码>空NU/COD>字符在中间某处。因此,响应在该点被截断。如何删除该NULL字符并防止其被截断?以下是我使用的代码: ASIHTTPRequest *_request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", [DEFAULTS objectForKey:@"gradespeed_url"]

我正在从服务器下载HTML(一个我不能控制),有时响应将包含一个“代码>空NU/COD>字符在中间某处。因此,响应在该点被截断。如何删除该
NULL
字符并防止其被截断?以下是我使用的代码:

ASIHTTPRequest *_request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", [DEFAULTS objectForKey:@"gradespeed_url"], @"ParentStudentGrades.aspx"]]];
__weak ASIHTTPRequest *request = _request;
[request setAllowCompressedResponse:NO];
[request setValidatesSecureCertificate:NO];
[request setCompletionBlock:^{
    NSData *response_data = [request responseData];
    NSString *response_string = [request responseString];
}];

NSString
被截断,但可能可以操作
NSData

请告知。

不要依赖
[request-responseString]
[request-responseData]
进行适当的空值转换


或者检查ASIHTTP代码,以准确地了解发生了什么。

我发现的解决方案实际上非常简单。我只需要添加以下代码来删除随机空字符:

response_string = [response_string stringByReplacingOccurrencesOfString:@"\0" withString:@""];

ASIHTTP很古老,甚至作者也建议不要使用它。当前流行的图书馆是AFNetworking。谢谢,我意识到这一点,但它并不能解决当前的问题。