13/01/15 03:09:15.61 HFqsEbZX
Socketでhttp通信をする時公式にはこんなサンプルが載ってますが
1アクセスで通信を終わらせず一度開いたfsockopenで複数回通信するにはどうしたらよいのでしょうか
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
単純に複数回fwriteすればいいのかなと思ったのですがダメでした
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
$out = "GET /test2 HTTP/1.1\r\n";//urlは適当
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);