2009-03-13 1 views
0

Ich habe ein ziemlich einfaches Programm, das eine URL aufnimmt und den ersten Ort ausspuckt, an den es weitergeleitet wird. Wie auch immer, ich habe es auf einigen Links getestet und festgestellt, dass 400 Fehler auf einigen URLs erhalten. Ich habe versucht, solche URLs zu testen, indem ich sie in meinen Browser eingefügt habe und das hat gut funktioniert.C# Link Analyzer erhält fehlerhafte Fehler?

static string getLoc(string curLoc, out string StatusDescription, int timeoutmillseconds) 
    { 
     HttpWebRequest x = (HttpWebRequest)WebRequest.Create(curLoc);    
     x.UserAgent = "Opera/9.52 (Windows NT 6.0; U; en)"; 
     x.Timeout = timeoutmillseconds;    
     x.AllowAutoRedirect = false; 
     HttpWebResponse y = null; 
     try 
     { 
      y = (HttpWebResponse)x.GetResponse(); //At this point it throws a 400 bad request exception. 

Antwort

0

Ich denke, etwas Seltsames passiert mit Cookies. Es stellt sich heraus, dass aufgrund der Art, wie ich den Link getestet habe, die notwendigen Cookies dafür in meinem Browser, aber nicht in dem Link funktionieren. Es stellt sich heraus, dass einige der Links, die ich manuell getestet habe (wenn die anderen Links fehlgeschlagen sind) Cookies generieren.

Es ist etwas verschachtelt, was passiert ist, aber die kurze Antwort ist, dass mein Browser hatte Cookies, das Programm nicht, die Cookies zwischen Redirects beibehalten hat das Problem nicht gelöst.

Das zugrunde liegende Problem wird durch die Tatsache verursacht, dass die Verbindung, die ich testen, entweder einen zusätzlichen Parameter oder einen Cookie oder beides erfordert. Ich habe versucht, beides in meinen Tests zu vermeiden, da der Parameter/Cookie für das Tracking war und ich das Tracking nicht unterbrechen wollte.

Kurz gesagt, ich weiß, was das Problem ist, aber es ist kein lösbares Problem.

+0

Wenn Sie die von Ihrem Browser gespeicherten Cookies löschen und dann Cookies deaktivieren, können Sie die URL in Ihrem Browser noch abrufen? –

+0

Nein. Deshalb habe ich es Keksen anvertraut. – Brian