0

我为我的另一个应用程序使用了类似的代码,它一直运行良好,但是当我为我当前的应用程序尝试它(不同的 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);    
    }

如果(查询)返回假。

有任何想法吗?提前致谢。

4

1 回答 1

0

请在您的请求字符串之前添加协议前缀"http://",这解决了问题,因为我得到了四位数字,否则错误的内容是:

"Error the operation could not be completed."

于 2012-11-06T07:37:14.417 回答