user agent setzen beim telnetten mit apache

  • diesmal kämpfe ich mit einem apache problem... ich will mit php mit fopen() mit einem anderen apachen kommunizieren, hab das ganze erstmal mit telnet dann mit einem php skript probiert.
    in dem php script was ich aufrufe, kriege ich aber den user agent nicht richtig ausgewertet!


    die abfrage mit

    PHP
    $globale= $HTTP_SERVER_VARS['HTTP_USER_AGENT'];

    bringt mir nur ein Undefined index: HTTP_USER_AGENT , die abfrage mit

    PHP
    $browser=getenv("HTTP_USER_AGENT");


    funktioniert aber normal!


    senden tue ich das hier:

    PHP
    fputs ($filepoint, "POST /rueck/test.php HTTP/1.1\r\n");
    fputs ($filepoint, "User-Agent: Mozilla/5.0 (Windows NT 5.1; U; de)\r\n");
    fputs ($filepoint, "Host: localhost\r\n");
    fputs ($filepoint, "Content-type: application/x-www-form-urlencoded\r\n");
    fputs ($filepoint, "Content-Length: ".$laenge."\r\n");
    fputs ($filepoint, "Connection: close\r\n");
    fputs ($filepoint, "\r\n");
    fputs ($filepoint, $post_string."\r\n\r\n");


    der indianer ist die 2.0.53 . wo liegt mein denkfehler? :gpaul:

    c ya

  • 1. Benutze $_SERVER statt $HTTP_SERVER_VARS, letzteres ist nämlich kein Auto-global, und eigentlich auch schon deprecated. Siehe:
    http://de.php.net/reserved.variables


    2. $_SERVER muß nicht zwingend alle Informationen enthalten, es hängt startk davon ab wie PHP konfiguriert ist auf dem Server. Manchmal findet man auch etwas in $_ENV


    3. Wolltest du jetzt eigentlich auch was über Telnet bzw. über das HTTP-Protokoll wissen? Falls ja, ist mir die Frage nciht klar geworden.

    "That's not a hair question. I'm sorry." - 01/31/07 - Never forget!

  • meine frage ging ums html protokoll, telnet habe ich erst nur zum test genutzt.


    leider bin ich gezwungen HTTP_SERVER_VARS zu nutzen, denn das (fremde) script, wo dies genutzt wird, darf nicht verändert werden...
    ich hatte mit getenv() nur probiert, obs an meinem senden oder an etwas anderes liegt.


    interessant ist nämlich, das HTTP_SERVER_VARS sonst funktioniert, nur die teilabfrage für user-agent nicht. host, remote adresse, usw werden korrekt übergeben.


    die zeile im "fremden" skript sieht so aus:

    PHP
    $RequestID=md5(sprintf("%s%s%s%s",
    $HTTP_SERVER_VARS['HTTP_USER_AGENT'],
    $HTTP_SERVER_VARS['HTTP_HOST'],
    $HTTP_SERVER_VARS['REMOTE_ADDR'],
    $HTTP_SERVER_VARS['SERVER_SOFTWARE']));


    und, was noch interessant ist, frage ich das skript mit nem browser ab, nicht mit fopen in php oder im telnet. dann bekomme ich keine fehlermeldung! :confused:


    das php ist 4.3.11 , REGISTER_GLOBALS ist on, da es nur ein intranet ist.

    c ya

  • das ist total geil, ich bin durch zufall auf eine lösung gestoßen, als ich mit dem header rumgespielt habe.
    mit diesen sendedaten funktioniert $HTTP_SERVER_VARS['HTTP_USER_AGENT'] auch über PHP! nur wieso? :confused:


    c ya

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!