iOS 5 NSURLConnection zu HTTPS-Servern
Habe ich gesucht für Stunden, die über die NSURLConnection
Delegierte/Methoden, die es mir erlaubt zu verwenden, um die Verbindung zu HTTPS-Servern. Auch suchte ich auf dieser Seite und ich fand Antworten, Antworten die nicht für mich arbeiten.
Werde ich hochladen, den link code, wenn einer von Euch wollen, dass ich. Ich hätte aber lieber ein tutorial /Beispiel-codes /source-code eines einfachen UIWebView
Anschluss an jeden HTTPS Servers
. Und ich werde es von dort zu nehmen.
Vielen Dank im Voraus.
InformationsquelleAutor Melvin Lai | 2012-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ob Sie eine Verbindung zu einem HTTPS-oder HTTP-site sollte vollständig transparent sein, sowohl für NSURLConnection und für die UIWebView-Steuerelemente. Das einzige, was Sie möglicherweise tun müssen, ist, wenn die server-Websites das Zertifikat ist ein selbst signiertes oder nicht-verifizierbaren Zertifikat, fügen Sie code hinzu, um die Authentifizierung zu umgehen Herausforderung, die der browser erhält. (d.h. das äquivalent von der Meldung, dass das Zertifikat von einer unbekannten Autorität, und Sie wollen, um es zu akzeptieren).
Verwenden Sie einfach ein @"https://www.myhttpsite.com/" - URL und es sollte funktionieren auf die gleiche Weise wie eine normale HTTP-urls.
Umgehen die Frage der Sicherheit von ein nicht erkanntes Zertifikat des Unterzeichners für eine NSURLConnection, fügen Sie den folgenden, um Ihre delegate-Methoden:
In der vor iOS4.3 müssen Sie etwas tun, ein wenig anders, Sie können hinzufügen, eine Kategorie, zu der URLRequest-Klasse, die Umgehung der Sicherheit für Zertifikate von einer Verkannten host.
Hinweis: seien Sie vorsichtig mit jeder Lösung, die ignoriert, dass ein Zertifikat nicht signiert, die von einer anerkannten Behörde, wie Sie eröffnen eine potentielle Sicherheitslücke, wenn es zu tun, aber oft ist es notwendig, zumindest für Tests auf einem test-server, der hat sich selbst/intern signiertes Zertifikat.
Öffnen einer URL-Verbindung in einer web-view:
if the server sites certificate is a self-signed or non-verifiable certificate
Wie weiß ich, ob die Seite ist entweder selbst-signiert oder nicht nachprüfbar? Und ich habe gerade getestet, der code, ich bin immer ein weißer Bildschirm noch. Gibt es eine Methode, die ich eingeben muss, bevor[webView loadRequest:requestObj];
?In der Regel erhalten Sie eine Warnmeldung beim Zugriff auf die gleiche Website in Ihrem standard-web-browser (z.B. safari auf dem desktop) gefragt, ob Sie bereit sind, zu Vertrauen signiertes Zertifikat von einer unbekannten Zertifizierungsstelle.
Hinzugefügt Beispiel für code, der laden würde eine https-Anfrage in eine webview verbunden war, als eine Steckdose, zum Beispiel in unserer view-controller.
Ok... Das hatte gewesen getan in den ersten Platz, aber es hat nicht funktioniert. Mein Anliegen ist dieses, ich habe eine
<NSURLConnectionDelegate>
im .h und trotz der-(void)connection:
Methode, mit der Sie geliefert werden, setzen Sie einen Haltepunkt in derconnection:
Methode zeigt, dass es würde nicht hineingehen. Natürlich habe ich irgendwie wissen, warum es nicht ausführen der Methode, aber wäre es nicht automatisch ausführen, wenn ich erklärte, dieNSURLConnectionDelegate
?Haben Sie überprüft, Sie können das laden einer nicht-https-URL? seine nicht so etwas einfaches wie das vergessen zu verdrahten die UIWebView outlet ist es? Auch wenn Sie nicht immer alle Fehler in Bezug auf das Zertifikat in Ihrem safari-browser, dann ist dieser delegate-Methode würde nicht angerufen werden, das iphone entweder - es wird nur aufgerufen, wenn die Ausgabe ist signiert von einem unbekannten Zertifizierungsstelle.
InformationsquelleAutor gamozzii
Ok, ich fand meine Antwort. Dank gamozzii für mir zu helfen, wie gut. Ich habe eine Suche auf Basis Ihres codes 🙂
Laden Sie die HTTPS-url in einer UIWebView
Dies funktioniert für mich. Ich habe auch versucht, links wie
https://www.google.com
Hey, kein problem. Aber was Sie mir erzählte, hat mir geholfen, zu finden, das Verfahren, dass die Arbeit aus 🙂 Aber es ist etwas, erkannte ich über den code, es
returns YES
bedeutet, es wird immer wieder ein true ausgegeben. Jetzt muss ich einen Weg finden, um zurückYES
über einige Authentifizierung. 🙁hi Melvin Lai, finden Sie einen Weg zurück JA über die Authentifizierung? weil wenn ich den falschen Benutzername oder Passwort, seine leere. danke..
dass Methode, die ich verwendet habe nicht von mir verlangen, zu verwenden Benutzername oder Kennwort.
InformationsquelleAutor Melvin Lai