Frage

Was ist der Unterschied zwischen diesen beiden Eigenschaften?

Um in einen Kontext zu setzen, ich bin zu bestimmen, ob eine Umleitung tritt auf, wenn unsere ResponseUri! = RequestURI.

Während eine Umleitung tritt unabhängig die URL http://adage.com/adages/article? article_id = 140560 wird eine andere ResponseUri bieten ( http://adage.com/adages/post .php ) als die Adresse ( http://adage.com/adages/post ? article_id = 140560 ).

Es erscheint der ResponseUri den Header Content-Location nimmt und nutzt sie, während die Adresse der richtigen Stelle hält.

wäre es richtig sein, die RequestURI zum HttpWebRequest.Address zu vergleichen für Umleitungen zu überprüfen?

War es hilfreich?

Lösung

Ja, das Vergleichen request.RequestUri und request.Address ist der Weg zu gehen. Zumindest in Mono response.ResponseUri ist die gleiche wie request.Address.

Andere Tipps

Ich weiß, das ist eine alte Frage, aber ich fand es während dieses Thema untersucht, und bemerkte, es wurde nicht richtig tatsächlich beantwortet.

Während HttpWebRequest.Address und HttpWebResponse.ResponseUri sollte immer gleich sein, hier ist der Unterschied:

  • HttpWebResponse.Address den Uri der Seite zurückzukehren tatsächlich reagiert
  • HttpWebResponse.ResponseUri den Wert des Content-Location Header zurückgeben (falls vorhanden). Während die Dokumentation nicht explizit Staat tut was, wenn der Content-Location Header geschieht nicht vorhanden ist, wird davon ausgegangen, es den gleichen Wert wie Address verwenden.

Denken Sie daran, HTTP-Header gefälscht werden kann, so dass Microsoft mit Address statt ResponseUri aus Sicherheitsgründen empfiehlt.

http://msdn.microsoft.com/ en-us / library / system.net.httpwebresponse.responseuri.aspx

Haben Sie sich Gedanken über die Einstellung request.AllowAutoRedirect = false und dann auf einer Umleitung der Anforderung Neuausstellung?

Die Uri Vergleich sollte auch funktionieren, obwohl ich bin nicht sicher, ob all die Ränder Fälle

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top