Sinan: scheichern der header user-agend in eine variable

hallo habe folgenden code:

Enumeration headers = request.getHeaderNames();
while(headers.hasMoreElements()) {
  String aHeaderName = (String)headers.nextElement();
  log.info("---> Header " + headers.nextElement() + " = " +
  request.getHeader(aHeaderName));
}

dazu bekomme ich folgendes ausgegeben:

---> Header accept-language = ......
---> Header content-length = ...
---> Header host = ....
---> Header iv-user = ......
---> Header user-agent = https://stest.online.test.de/testportal/test.jsp
---> Header iv-user-l = ....
---> Header clientsource = ....
---> Header ruv-ldap-dn = ...
---> Header cookie = ....

wie speicher ich jetzt den Link (user-agent) als eine String Variable
z.B. String a = "http://....";

Danke schonmal für die Antwort

  1. Servus,

    [...]
    Enumeration headers = request.getHeaderNames();
    while(headers.hasMoreElements()) {
      String aHeaderName = (String)headers.nextElement();
      log.info("---> Header " + headers.nextElement() + " = " +
      request.getHeader(aHeaderName));
    }
    [...]
    wie speicher ich jetzt den Link (user-agent) als eine String Variable
    z.B. String a = "http://....";

    Du hast ihn doch schon gespeichert in der Variablen aHeaderName. Was willst Du denn eigentlich machen?

    Peter

    1. ja, aber der aHeaderName ändert sich ja jedesmal

      ich will nur den link als irgendeine string variable abspeichern

      1. Wie Bernhard Dir schon gesagt hat, finde heraus, in welcher Header-Eigenschaft Deine URL wirklich drin steht (doppeltes nextElement() entfernen), und dann arbeite mit HttpServletRequest#getHeader(String name).

        Peter

  2. Hi!

    log.info("---> Header " + headers.nextElement() + " = " +   request.getHeader(aHeaderName));

    ---> Header user-agent = https://stest.online.test.de/testportal/test.jsp

    Macht es dich nicht misstrauisch, dass im User-Agent ein Link steht? Du darfst in der While-Schleife header.nextElement() nur einmal aufrufen, sonst überspringst du manche Header-Einträge.

    wie speicher ich jetzt den Link (user-agent) als eine String Variable
    z.B. String a = "http://....";

    Bitte überlege dir vorher, was genau du eigentlich aus dem Header auslesen willst. Wenn du wirklich den Link zu stest.online.test.de speichern willst, ist das Auslesen des User-Agent jedenfalls der falsche Weg.

    Grüße
    Bernhard

    1. ich will nur das die adresse in eine variable abgespeichtert wird mehr nicht.

      bitte um eure hilfe

      1. ich will nur das die adresse in eine variable abgespeichtert wird mehr nicht.

        Dann ersetze einmal in deinem Beispielcode in der Zeile

        log.info("---> Header " + headers.nextElement() + " = " +   request.getHeader(aHeaderName));

        "headers.nextElement()" durch die Variable "aHeaderName" und finde als erstes heraus, in welchem Header-Eintrag dieser Link eigentlich gespeichert ist.

        Erst wenn du diesen Eintrag kennst, kannst du seinen Inhalt (den Link) speichern.

        Bernhard