2009-08-01 5 views
1

Angenommen, ich habe eine iPhone-App mit einem UIWebView. Ist es möglich, meinen eigenen HTTP-Proxy-Server auf dem iPhone zu schreiben und dann jede Seite, die im UIWebView geladen wird, durch diesen Proxy zu gehen?Verwenden Sie UIWebView mit einem lokalen Proxyserver, der auf dem iPhone ausgeführt wird

Ich denke, es gibt zwei Hauptteile:

  1. einen HTTP-Proxy-Server auf dem iPhone schreiben
  2. Sicherstellen, dass alle Anfragen von der UIWebView meiner eigenen Proxy durch

Wie schwierig wäre Es wäre ein solcher Proxy-Server zu schreiben? Was müsste getan werden? Ich weiß, das ist wahrscheinlich sehr naiv von mir zu denken, aber es klingt ziemlich einfach, ist es nicht alles, was du im Grunde nur tust, um Nachrichten vom Client zu bekommen und sie zum Server zu leiten? Was macht einen Proxy-Server so kompliziert?

Dies kann nützlich sein, wenn Sie die HTTP-Header von Anforderungen ändern möchten, die an das UIWebView gesendet werden. Weil, während der (NSURLRequest *)request Parameter in [webView:shouldStartLoadWithRequest:navigationType:] eigentlich ein (NSMutableURLRequest *) ist, wenn Sie irgendwelche seiner Werte ändern, funktioniert es nicht (schade, dass es nicht so einfach war).

Antwort

1

Sie sollten wahrscheinlich einen Proxy-Server außerhalb der iPhone-Anwendung erstellen und ihn irgendwo online hosten. Dann könnten Sie die URL in shouldStartLoadWithRequest so ändern, dass sie tatsächlich von Ihrem Proxy-Server geladen wird.

Verwandte Themen