2016-05-23 18 views
-2

Ich sende GET-Anfrage an den Server, aber die Daten kommen in HTML anstelle von XML-Format. Wie kann ich dieses Problem lösen?Vom Server kommt HTML anstelle von 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]; 
+0

Es gibt eine Menge an Informationen fehlt hier. Zum Beispiel soll die Site XML zurückgeben? Erzielen andere Implementierungen (z. B. Android) XML? Sind Sie der Besitzer des Servers? Was sagt der HTML? (Fehler, 404) –

+2

Die Site scheint XML sowieso schon zurückzugeben, bist du * sicher * du bekommst HTML zurück? – Robert

+0

Ja, ich weiß genau, dass es HTML ist. Außerdem zeigt diese HTML-Seite die Hauptseite dieser Seite an. –

Antwort

0

Codierung könnte ein Problem sein?

Verwenden von NSWindowsCP1251StringEncoding gibt korrekte Daten.

folgende Code gibt XML-Daten für mich:

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]; 
Verwandte Themen