Immer die Lage von einem WebClient auf eine HTTP 302-Redirect?
Ich habe eine URL zurückgibt, die eine HTTP 302-Umleitung, und ich möchte die URL leitet weiter auf.
Das problem ist das System.Net.WebClient scheint tatsächlich zu Folgen, das ist schlecht. HttpWebRequest scheint das gleiche zu tun.
Ist es ein Weg, um eine einfache HTTP-Anfrage und erhalten Sie das Ziel ohne den WebClient folgenden?
Ich bin versucht zu tun, raw socket Kommunikation wie HTTP ist einfach genug, aber die Website HTTPS verwendet wird und ich will nicht das Händeschütteln.
Am Ende, es ist mir egal welche Klasse ich nutzen, ich möchte nur nicht, dass es Folgen HTTP 302-Umleitungen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf
HttpWebRequest
Sie könnenAllowAutoRedirect
zufalse
zu behandeln, die Umleitung selbst.Es ist ziemlich einfach zu tun
Angenommen, den Sie erstellt haben, eine HttpWebRequest-namens myRequest
Entschuldigen Sie mögliche Fehler bei der Kompilierung habe ich nicht die VS direkt vor mir, aber ich habe dies in der Vergangenheit zu prüfen, leitet.
AllowAutoRedirect
nichtAutoAllowRedirect
Den
HttpWebRequest
hat eine EigenschaftAllowAutoRedirect
das können Sie auf false gesetzt (es ist immer wahr fürWebClient
), und dann bekommen dieLocation
HTTP-header.Auch, für jemanden, der braucht nur die neue Position
HttpResponseMessage
hat eineRequestMessage
Eigenschaft. Manchmal kann es nützlich sein, weilWebClient
keine Unterstützung für die änderung derAllowAutoRedirect
Eigenschaft, nachdem es einmal gesetzt wurde.