Question

Est-il possible d'usurper l'agent utilisateur sur Safari sur l'iPhone?

Ainsi, par exemple, vous devez créer une application sur l'iPhone qui a le navigateur Safari intégré, mais un site Web que l'utilisateur visite avec ce navigateur ne sais que vous étiez sur Safari sur l'iPhone, il pourrait penser que vous êtes sur quelque chose comme Safari sur un PC, ou même IE / FireFox.

Merci

Était-ce utile?

La solution

Oui, je pense que vous pouvez changer cela. Il faudrait un peu de travail autour de le faire fonctionner.

  1. Vous devez gérer manuellement toutes les demandes. En faisant vos propres demandes de données. Dans cette demande de données que vous pouvez ajouter un HTTPHeader pour User-Agent qui remplacera les en-têtes par défaut.

    NSMutableURLRequest * urlRequest = [[[NSMutableURLRequest alloc] initWithURL: requestURL] autorelease];

    [urlRequest setHTTPMethod: @"POST"];
    [urlRequest setHTTPBody: [nvpString  dataUsingEncoding:NSUTF8StringEncoding]];
    [urlRequest addValue:@"Your+User+Agent+String" forHTTPHeaderField:@"User-Agent"];
    receivedData = [[NSMutableData alloc] retain];
    [receivedData setLength:0];
    
    [NSURLConnection connectionWithRequest: urlRequest delegate: self];
    
  2. Si vous intégrez le navigateur Web Safari dans votre application, vous pouvez souscrire à ses méthodes de délégués. L'un d'eux informerez votre application safari souhaitez charger une URL, c'est là que vous attrapez cette charge et obtenir les données de votre auto.

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    

    maintenant que vous mettez votre code ici pour faire la charge de données.

  3. Une fois les données chargées. Donnez-lui la chaîne de données à l'webView. J'ai mis « baseURL: néant » mais vous pourriez avoir à régler correctement cela peut-être le domaine correct pour cette application.

    [webView loadHTMLString: nouvelleChaine baseURL: nil]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top