別のアプリで同様のコードを使用しましたが、正常に機能していますが、現在のアプリで(別のIP / cgiスクリプト)試してみると、機能しません。
NSString *iQuery = [NSString stringWithFormat:@"206.196.111.206/rego/test.cgi?country=AU"];
NSString *query = [NSString stringWithContentsOfURL:[NSURL URLWithString:iQuery] encoding:NSUTF8StringEncoding error:&errorStr];
NSData *resultJson = [query dataUsingEncoding:NSUTF8StringEncoding];
if(query){
NSString *res = [[NSString alloc] initWithData:resultJson encoding:NSUTF8StringEncoding];
} else {
printf("Error is: %s", errorStr);
}
クエリ206.196.111.206/rego/test.cgi?country=AUをIEまたはfirefoxに貼り付けると、本来の動作を実行します(4桁のコードを返します)
エスケープされた文字列も試してみました:
NSString *iQuery = [NSString stringWithFormat:@"206.196.111.206/rego/test.cgi?country=AU"];
NSString *escapedURL = [iQuery stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *query = [NSString stringWithContentsOfURL:[NSURL URLWithString:escapedURL] encoding:NSUTF8StringEncoding error:&errorStr];
NSData *resultJson = [query dataUsingEncoding:NSUTF8StringEncoding];
if(query) {
NSString *res = [[NSString alloc] initWithData:resultJson encoding:NSUTF8StringEncoding];
} else {
printf("Error is: %s", errorStr);
}
if(query)はfalseを返します。
何か案は?前もって感謝します。