$fp = fsockopen(“phungvanhuy.net”, 80, $errno, $errstr, 30);
if (!$fp) die(“$errstr ($errno)”);
$query = <<< QUERY
GET /login.asp?admin=phungvanhuy&.hash=x2fhuy-ok&salt=xox HTTP/1.1
Host: phungvanhuy.net
QUERY;
fwrite($fp, $query);
$r = “”;
while (!feof($fp)) {
$t = fgets($fp, 128);
$r .= $t;
}
echo $r;
fclose($fp);
// Thực ra với ngôn ngữ nào cũng vậy, điều quan trọng là mình biết cấu trúc dữ liệu gửi đi và nhận về thôi
Chẳng hạn với HTTP có GET, POST là phổ biến
Ví dụ data POST gửi phải có dạng
POST /script HTTP/1.1
Host: hostname
Content-Type: application/x-www-form-urlencoded
Content-Length: 9
Cookie: PVH=v=1&p=0&n=1; expires=Tue, 02-Jun-2037 20:00:00 GMT; path=/; domain=.xxx.yzt;
123456789
*Chú ý cái xuống dòng (\r\n, vbCrlf), nếu không có thì server sẽ ko hiểu đúng. Cái bôi màu đỏ là size (len) và dữ liệu thực chuyển đi (nó là bytes array – mà string chỉ là 1 trường hợp ^^)
…