本文執行個體講述了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程式設計有所協助。