Kann ich den Namen/IP des Antwortservers mit Apache HTTPClient abrufen?
-
19-09-2019 - |
Frage
Ich verwende Apache Httpclient 3.x, um eine große IP zu kontaktieren, die meine Anfrage an eine von 1-N-Maschinen weiterleitet. Wir müssen wissen, welche der N -Maschinen die Anfrage tatsächlich aufgenommen haben, und ich bin mir nicht sicher, wie ich diese Informationen erhalten kann. Ich habe die Antwortköpfe ohne Glück durchgesehen, also frage ich mich, ob diese Informationen tatsächlich irgendwohin bereitgestellt werden. Gibt es eine Helfer-/Versorgungsklasse, mit der ich zusätzliche Metadaten erhalten kann?
Vielen Dank.
Lösung
Wenn die Anfrage weitergeleitet wird und Sie den neuen Standort benötigen, müssen Sie setFollowRedirects(false)
auf der Methode und behandeln Sie die Umleitung selbst.
Überprüfen Sie nach dem Senden der Anfrage getStatusCode()
zum 302
und getResponseHeader("Location")
für die neue Adresse. Als die Adresse zu ändern durch setURI()
und noch einmal senden.
Andere Tipps
Oder Sie könnten einfach benutzen mod_headers und fügen Sie eine eindeutige Header-ID auf jeden Ihrer Apache-HTTPD-Server ein ;-)