Я использую sthttprequest и php для связи с веб-сервером в своих приложениях. Это пример запроса:
-(void)GetSomething:(NSString*)Username :(NSString*)Password {
__block STHTTPRequest *up = [STHTTPRequest requestWithURLString:[NSString stringWithFormat:@"%@%@",PATHSERVER,@"getsomething.php"]];
up.POSTDictionary = @{@"username":Username,@"password":Password};
up.completionBlock = ^(NSDictionary *headers, NSString *body) {
//my result data
};
up.errorBlock = ^(NSError *error) {
NSLog(@"-error description and error code- %@", [error localizedDescription]);
};
[up startAsynchronous];
}
Когда возникает условие, я хочу вывести ошибку на моей php-странице, чтобы отобразить предупреждение в блоке ошибок sthttprequest:
up.errorBlock = ^(NSError *error) {
NSLog(@"-error description and error code- %@", [error localizedDescription]);
};
Можно ли заставить пользовательскую ошибку кода с php-страницы добиться такого поведения? Что-то вроде:
<?php echo $custom_error_code; ?>
up.errorBlock = ^(NSError *error) {
if (error.code==1300){
//this is the code i have set in php
}
};
Я не хочу, чтобы уже назначенная ошибка, например 503 500, ect... потому что я рискую отображать предупреждение пользователю, когда это не имеет смысла. Я хочу использовать ошибку блока, а не простую строку в finalBlock по причинам, связанным с практикой.
РЕДАКТИРОВАТЬ
Я нашел этот ответ здесь в stackoverflow. Можем ли мы создать пользовательские коды состояния HTTP?
Поэтому я могу создать собственный код ошибки, где номер еще не назначен, что я должен уважать, это номер класса 4xx или 5xx. Теперь моя проблема заключается в выводе пользовательского кода ошибки, например, "475" с php-страницы. Метод
header_status(475);
не работаю для меня.
этот ответ qaru.site/questions/39323/... дает мне правильный способ опубликовать собственный код ошибки для sthttprequest, который распознает его правильно.