2009-08-10 4 views
2

Wenn ich eine Website mit SSL-Zertifikaten crawlen möchte, wie kann ich das tun?Crawling einer sicheren Site

Ich weiß, dass es die WebClient Klasse in C# und HttpWebRequest/HttpWebResponse gibt, aber welche Änderungen müsste ich machen?

Antwort

3

Sie müssen nichts ändern, außer die URL, die mit "https" anstelle von "http" beginnen soll.

+0

Richtig, dies ist der Grund, warum wir das Muster Request.Create() haben. –

1

Gerade diese Dieses

ServicePointManager.ServerCertificateValidationCallback += delegate(object sender, X509Certificate certifcate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 
{ 
    return true; 
}; 

an der Spitze Ihrer Anwendung hinzufügen wird HttpWebRequest alle Zertifikate von den Servern akzeptieren machen.

+0

-1. Obwohl es sich hierbei um einen Hack handelt, der normalerweise für die Annahme von selbstsignierten Zertifikaten verwendet wird, ist er äußerst unsicher und sollte nur dann ausgeführt werden, wenn alle anderen Optionen ausprobiert wurden und wenn die (häufig schwerwiegenden) Risiken bekannt sind. Die beste Option ist das Installieren des Server-Zertifikats auf dem Rechner, der die Anfrage stellt. – Randolpho

+0

Ich stimme dem -1 nicht zu. Er sagte, er sollte eine Seite crawlen, also alle Seiten herunterladen, so wie ich sie gelesen habe. Kommunikation mit einer oder wenigen bekannten Websites für Transaktionen Ich stimme völlig mit Ihnen überein, dass Sie eine ordnungsgemäße CERT-Authentifizierung durchführen sollten. –

+0

Stimmen Sie auch nicht auf -1 zu. Warum sollte er etwas krabbeln, dem er überhaupt nicht vertraut hat, und die Sicherheitsimplikationen bei der Verwendung einer WebRequest sind viel weniger als bei einem Browser. – Brandon