2016-05-23 9 views
-2

サーバーにGETリクエストを送信していますが、データはXML形式ではなくHTML形式です。どうすればこの問題を解決できますか?サーバーからXMLの代わりにHTMLが来る

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

ここで不足している多くの情報があります。たとえば、サイトはXMLを返すようになっていますか?他の実装(Androidなど)でXMLを取得できますか?あなたはサーバーの所有者ですか? HTMLは何を言いますか? (エラー、404) –

+2

サイトは既にXMLを返しているようですが、HTMLを取得していますか? – Robert

+0

はい、私はまさにそれがHTMLだということを知っています。さらに、このhtmlデータはこのサイトのメインページを示しています –

答えて

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]; 
関連する問題