ios objective-c uiwebview user-agent nsmutableurlrequest

ios - User-Agent no cambia en NSMutableURLRequest



objective-c uiwebview (2)

" Resolví " mi problema al poner en el archivo didFinishLaunchingWithOptions de mi AppDelegate.m el siguiente código:

NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"YOUR CUSTOM USER-AGENT", @"UserAgent", nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

La cuestión es que no puedo adjuntar el texto al agente de usuario en sí, pero puedo escribir los datos que necesito para diferenciar entre el acceso a la página web desde las diferentes aplicaciones o navegadores web.

Gracias por toda tu ayuda.

Sé que puede haber varios problemas al respecto, pero estoy enfrentando un problema cuando intento establecer un nuevo "agente de usuario" para mi UIWebView . Esto es lo que estoy haciendo en este momento:

NSURL *myUrl = [NSURL URLWithString:auxUrl]; NSMutableURLRequest *myRequest = [NSMutableURLRequest requestWithURL:myUrl]; NSMutableString *auxUserAgent = [[NSMutableString alloc] initWithString:[myRequest valueForHTTPHeaderField: @"User-Agent"]]; [auxUserAgent appendString:@"(iOS)"]; [myRequest setValue:auxUserAgent forHTTPHeaderField:@"User-Agent"]; NSLog(@"UA : %@",[myRequest valueForHTTPHeaderField: @"User-Agent"]);

Estoy intentando agregar texto al agente de usuario real, y en la consola de XCode muestra el nuevo valor de agente de usuario.

2013-12-16 19: 03: 42.200 Aplicación [736: 60b] UA: Mozilla / 5.0 (iPhone; CPU iPhone OS 7_0_4 como Mac OS X) AppleWebKit / 537.51.1 (KHTML, como Gecko) Móvil / 11B554a (iOS)

Pero cuando ejecuto mi aplicación, muestra la anterior. Aquí hay una captura de pantalla del agente de usuario que se muestra en la página web que estoy mostrando en UIWebView:

Entonces ... mis preguntas son: ¿Qué me estoy perdiendo? ¿Hay algo en el sistema que no permita a los desarrolladores cambiar estos datos?

Gracias.


No funcionará así. UIWebView anula el campo User-Agent .

Si intenta registrar el User-Agent en el webView:shouldStartLoadWithRequest:navigationType: verá que ya está anulado, sin embargo, puede usar NSURLConnection para cargar su solicitud con un User-Agent y luego usar loadHTMLString:baseURL: method o loadData:MIMEType:textEncodingName:baseURL: método de UIWebView para mostrar los datos descargados de NSURLConnection .