[PHP] Meerdere GETs over één fsock

Pagina: 1
Acties:

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
Probleempje: ik maak een connectie met fsockopen(). Vervolgens stuur ik een GET request en ontvang de data. Gaat allemaal prima. Nu wil ik echter meteen weer een request sturen. Dit is de code die ik ergens uit haalde om een file op te halen, echter kennelijk moet ik nog iets sturen na het ontvangen van de data voordat ik weer een request kan sturen?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function request($fp, $postcode) {

    $request = "GET /document HTTP/1.0\r\n";
    $request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\r\n";
    $request .= "Host: server.com\r\n";
    $request .= "Connection: Close\r\n\r\n";

    fputs($fp, $request);
    $content = "";
    
    $line = fgets($fp, 128);
    $header["status"] = $line;
    
    $header_done = false;
    while (!feof($fp)) {
        if ($header_done) { 
            $line = fread($fp, 1024);
            $content .= $line;
        } else {
            $line = fgets($fp, 128);
            if ($line == "\r\n") {
                $header_done = true;
            }
        }
    }
    
    return $content;
    
}

Rustacean


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Kan niet...

HTTP Protocol is zo opgebouwt dat je maar 1 request te gelijk kan doen....

Opnieuw openen is dus de enige manier...

Programmer - an organism that turns coffee into software.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Zie Keep--Alive in de RFC ofzo en dan vooral niet "Connection: Close" roepen natuurlijk :+

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
* djc heeft wget ontdekt. :D

Rustacean