2010-12-20 3 views
3

Ich habe URL wie:
http://www.matweb.com/search/DataSheet.aspx?MatGUID=849e2916ab1541be9ff6a17b78f95c82matweb.com: Wie bekomme ich die Quelle der Seite?

Ich möchte von dieser Seite Quellcode herunterladen mit diesem Code:

private static string urlTemplate = @"http://www.matweb.com/search/DataSheet.aspx?MatGUID="; 

static string GetSource(string guid) 
{ 
    try 
    { 
     Uri url = new Uri(urlTemplate + guid); 

     HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); 
     webRequest.Method = "GET";    

     HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); 

     Stream responseStream = webResponse.GetResponseStream(); 
     StreamReader responseStreamReader = new StreamReader(responseStream); 
     String result = responseStreamReader.ReadToEnd(); 

     return result; 
    } 
    catch (Exception ex) 
    { 
     return null; 
    } 
} 

Wenn ich so bekomme ich:

Sie dies nicht tun scheinen Cookies aktiviert zu haben. MatWeb Erfordert die Aktivierung von Cookies.

Ok, das verstehe ich, so habe ich Linien:

CookieContainer cc = new CookieContainer(); 
webRequest.CookieContainer = cc; 

Ich habe:

Ihre IP Adresse ist aufgrund übermäßigen Gebrauch beschränkt. Das Problem kann sich verschärfen, wenn eine IP-Adresse von vielen Personen in einem Unternehmen oder über einen Internetdienstanbieter geteilt wird. Wir bitten um Entschuldigung für die Unannehmlichkeiten.

Ich kann das verstehen, aber ich bekomme diese Nachricht nicht, wenn ich versuche, diese Seite mit einem Webbrowser zu besuchen. Was kann ich tun, um den Quellcode zu bekommen? Einige Cookies oder http-Header?

Antwort

4

Es mag Ihren UserAgent wahrscheinlich nicht. Versuchen Sie dies:

webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)"; //maybe substitute your own in here 
+0

Oh danke! Das funktioniert :). Wie kann ich meinen eigenen UserAgent bekommen? –

+0

Um den UserAgent zu erhalten, den Ihr Browser sendet, versuchen Sie etwas wie diese Seite: http://whatsmyuseragent.com/ –

1

Es sieht so aus, als ob Sie etwas tun, das das Unternehmen nicht mag, wenn Sie eine "übermäßige Verwendung" erhalten.

+0

Er sagte, dass er diese Nachricht nur erhält, wenn er versucht, sein Programm auszuführen. Also ist seine IP nicht das Problem. –

+0

Sieht aus wie der User-Agent, siehe oben. – Broam

0

Sie downloaden Seiten zu schnell.

Wenn Sie einen Browser verwenden, erhalten Sie möglicherweise eine Seite pro Sekunde. Mit einer Anwendung können Sie mehrere Seiten pro Sekunde erstellen und das ist wahrscheinlich das, was der Webserver erkennt. Daher die übermäßige Nutzung.

+0

Das ist nicht wahr, weil ich diese Nachricht bekomme, auch wenn ich diese Funktion einmal ausführen. Zu schnelles Townloading ist also nicht das Problem. –