HTML обрезан из-за символа NULL

0

Я загружаю HTML с сервера (тот, который я не могу контролировать), и иногда ответ будет включать в себя символ NULL в середине. Из-за этого ответ усекается в этот момент. Как удалить этот символ 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?
Пожалуйста, порекомендуйте.

  • 0
    ASIHTTP древний, даже автор предлагает не использовать его. Текущая популярная библиотека - AFNetworking.
  • 0
    Спасибо, я понимаю это, но это не решает проблему под рукой.
Теги:

2 ответа

0
Лучший ответ

Решение, которое я обнаружил, на самом деле было довольно простым. Мне просто нужно было добавить следующий код для удаления случайных символов NULL:

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

Не полагайтесь на [request responseString] чтобы ваше собственное преобразование из [request responseData] обрабатывало нуль, если это необходимо.

Или просмотрите код ASIHTTP, чтобы узнать, что именно происходит.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню