本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/14403
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我