从服务器来的是HTML而不是XML

时间:2016-05-23 15:49:34

标签: ios objective-c xml rest nsurlsession

我向服务器发送GET请求,但数据是HTML而不是XML格式。我怎么解决这个问题?

NSURL* url = [NSURL URLWithString:@"http://ufa.farfor.ru/getyml/?key=ukAXxeJYZN"];
NSURLSession* session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url
       completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
           NSLog(@"DATA %@",[NSString stringWithUTF8String:[data bytes]]);
           NSLog(@"RESPONSE %@",response);


       }] resume];

1 个答案:

答案 0 :(得分:0)

编码可能是个问题?

使用NSWindowsCP1251StringEncoding可以提供正确的数据。

以下代码为我返回xml数据:

    NSURL* url = [NSURL URLWithString:@"http://ufa.farfor.ru/getyml/?key=ukAXxeJYZN"];
NSURLSession* session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url
        completionHandler:^(NSData *data, NSURLResponse *response,
                            NSError *error) {
            NSLog(@"Got response %@ with error %@.\n", response, error);
            NSLog(@"DATA:\n%@\nEND DATA\n",
                  [[NSString alloc] initWithData: data
                                        encoding: NSWindowsCP1251StringEncoding]);
        }] resume];