Kurze Frage zu HTTP Anfrage



  • Hallo,

    und zwar hab ich ein kleines Programm geschrieben, welches eine HTTP-Anfrage an einen Server sendet. Nach der Anfrage liest es die empfangenden Daten aus ,wertet sie aus , um dann eine weitere Anfrage zu senden. Doch bei der 2. Anfrage scheint auf dem Server nicht viel zu passieren, er antwortet nicht darauf. Muss ich zwischen den Anfragen eine neue Verbindung aufbauen,eine Pause lassen oder irgendein HTTP-Befehl zum Refresh senden?

    Gruß



  • Zeig doch mal dein HTTP-Request. (Headers)



  • Na beim ersten Request funnktioniert alles, beim 2 ist es genau der gleiche String. Muss man nach jedem Request die gesamte Verbindung wieder neu Aufbauen?

    string buf;
    buf += "GET /chat/chat.php?cmd=anz_user&myname=";
    buf += user_name;
    buf +=" HTTP/1.1\nHost: *****.de\nConnection: close\n\n";
    


  • Lass doch "Connection: Close" weg? Damit sagst du dem Server doch gerade das er die Verbindung nach dem Senden der Webseite schließen soll.
    (Bei HTTP/1.1 ist keep-alive default!)



  • hola

    PillePalle schrieb:

    string buf;
    buf += "GET /chat/chat.php?cmd=anz_user&myname=";
    buf += user_name;
    buf +=" HTTP/1.1\nHost: *****.de\nConnection: close\n\n";
    

    hier sagst du dem server mit 'Connection: close' das die verbindung nach dem transfer beendet werden soll. also musst du neu verbinden.

    Meep Meep



  • Jap hab das schon weggelassen, der Server sendet trotzdem ein Connection: close. Bleibt mir also nix anderes übrig ...



  • Du kannst natürlich auch mit dem Header "Keep-Alive" spielen aber ich denk in deinem Fall ist KISS besser. Schliesslich sind die Headerangaben auch sehr dürftig...

    Grüsse,
    bleed_ch



  • Möglicherweise glaubt der Webserver einfach dass es für dein Programm besser wäre kein keep-alive zu nutzen - probiers mal mit dem UserAgent-String vom Firefox z.B.


Anmelden zum Antworten