本文實例講述了PHP實現模仿socket請求返回頁面的方法。分享給大家供大家參考。具體實現方法如下:
復制代碼 代碼如下:<?php
$url = "www.XXXX.com"; //自己做替換
$parse = parse_url($url); //對URL進行解析,返回起組成部分。
$host = $parse['host'];
$path = $parse['path'];
$port = 80;
$timeout = 80;
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout); //打開socket鏈接
if (!$fp){
echo $errno."--".$errstr; //如果錯誤,則返回錯誤代碼和錯誤信息
} else {
$out = "POST $path HTTP/1.1\r\n"; //以下是HTTP請求頭信息
$out .= "Host: ".$host."\r\n";
$out .= "Accept: */*\r\n";
$out .= "Connection: Close\r\n";
$out .= "Cookie: $cookie\r\n\r\n";
@fwrite($fp, $out); //把請求信息寫到鏈接中
$status = stream_get_meta_data($fp);
if(!$status['timed_out']) {
while (!feof($fp)) {
if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")) {
break;
}
}
$stop = false;
while(!feof($fp) && !$stop) {
$data = fread($fp,8192); //8192為可返回字節數
$return .= $data;
}
}
fclose($fp);
print_r($return);
}
希望本文所述對大家的PHP程序設計有所幫助。