Frage

Gibt es eine Möglichkeit, die User-Agenten auf Safari auf dem iPhone zu fälschen?

So zum Beispiel, würden Sie eine Anwendung auf dem iPhone erstellen, die den eingebetteten Browser Safari hat jedoch jede Website der Benutzer besucht mit diesem Browser Sie auf Safari auf dem iPhone nicht wissen würde, würde es denken Sie an etwas, wie Safari auf einem PC oder sogar IE / FireFox.

Danke

War es hilfreich?

Lösung

Ja, ich glaube, Sie dies ändern könnte. Es wäre ein bisschen eine Arbeit benötigen um, um es zu arbeiten.

  1. Sie müssten manuell alle Anfragen verwalten. Durch Ihre eigenen Daten-Anfragen. In dieser Datenanforderung können Sie eine Httpheader für User-Agent hinzufügen, die die Standard-Header wird außer Kraft setzen.

    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. Wenn Sie die Safari Web-Browser in Ihrer Anwendung einbetten können Sie auf seine Delegatmethoden abonnieren. Einer von ihnen benachrichtigt Ihre Anwendung, die Safari möchte eine URL laden, das ist, wo Sie diese Last zu fangen, und die Daten, um sich selbst bekommen.

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

    Jetzt setzen Sie Ihren Code hier in die Datenlast zu tun.

  3. Sobald die Daten geladen. Geben Sie ihm die Datenkette zurück zum webView. „: Null baseURL“ aber man könnte dies richtig eingestellt haben, um vielleicht die richtige Domain für diese App habe ich gesetzt.

    [webView loadHTMLString: Neuerstring baseURL: nil]

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top