AFNetworking obteniendo valor json. La URL no funciona

Estoy usando AFNetworking para get los valores JSON de mi aplicación iOS. He probado mi código en este enlace http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json, entonces mi código funciona bien. pero cuando uso http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php este enlace para recuperar los datos me sale el siguiente error. Por favor, encuentre a continuación el código que usé. Por favor ayúdenme a recuperar los datos de mi URL.

-(void) retriveData { AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager.requestSerializer setValue:@"text/html" forHTTPHeaderField:@"Content-type"]; [manager GET:@"http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; } 

Registro de errores

  2014-07-19 18:36:01.107 WADTourisum[3000:60b] Reachability Flag Status: -R ------- networkStatusForFlags 2014-07-19 18:36:01.768 WADTourisum[3000:60b] Error: Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo=0xa05c4e0 {NSErrorFailingURLKey=http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x8d8ba40> { URL: http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php } { status code: 200, headers { Connection = "Keep-Alive"; "Content-Type" = "text/html"; Date = "Sat, 19 Jul 2014 13:05:32 GMT"; "Keep-Alive" = "timeout=5, max=100"; Server = "Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635"; "Transfer-Encoding" = Identity; "X-Powenetworking-By" = "PHP/5.2.17"; } }, NSLocalizedDescription=Request failed: unacceptable content-type: text/html} 

sucede

 NSLocalizedDescription=Request failed: unacceptable content-type: text/html 

formatting Content-Type "=" text / html no tiene su AFNetworking.

Simplemente vaya a Serilization->AFURLResponseSerialization.m , línea 215 , y cámbielo:

 self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; 

te funcionara

Las versiones más recientes pueden tener el código en la línea 223 .

Solución para Swift:

Aceptará la mayor parte del tipo de contenido.

 let manager=AFHTTPRequestOperationManager() manager.responseSerializer = AFJSONResponseSerializer(readingOptions: NSJSONReadingOptions.AllowFragments) as AFJSONResponseSerializer manager.requestSerializer = AFJSONRequestSerializer() as AFJSONRequestSerializer manager.responseSerializer.acceptableContentTypes = NSSet(objects:"application/json", "text/html", "text/plain", "text/json", "text/javascript", "audio/wav") as Set<NSObject> 

La URL que usa ( http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php ) devuelve un encabezado de tipo de contenido no aceptado, en lugar de text / html debería devolver application / json.

Como dice Otanaught, la url que usas ( http://www.fr20.weanetworkingesigners.net/WADMac/tourism/fetchGuideListAndroid.php ) devuelve un encabezado de tipo de contenido no aceptado, en lugar de text / html debería devolver application / json.

Si tiene acceso al file del service Web PHP, coloque esto antes de cualquier código de visualización:

 header('Content-type: application/json');