Iphone Web查询-目标C
我为我的另一个应用程序使用了simliar代码,它一直运行良好,但当我为我的当前应用程序尝试它(不同的IP/cgi脚本)时,它不起作用Iphone Web查询-目标C,iphone,objective-c,ios,Iphone,Objective C,Ios,我为我的另一个应用程序使用了simliar代码,它一直运行良好,但当我为我的当前应用程序尝试它(不同的IP/cgi脚本)时,它不起作用 NSString *iQuery = [NSString stringWithFormat:@"206.196.111.206/rego/test.cgi?country=AU"]; NSString *query = [NSString stringWithContentsOfURL:[NSURL URLWithString:iQuery] encodin
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?国家=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(查询)返回false
有什么想法吗?提前感谢。请在您的请求字符串之前添加协议前缀
“http://”
,这就解决了问题,因为我将返回四位数字,否则错误内容为:
“错误操作无法完成。”
是否“errorStr
”(应该是一个“NSError
”对象,您可以从中获取“localizedDescription
”字符串)提供任何有用的提示?是的,打印errorStr的方法是错误的,感谢Michael更正此问题。