PHP实现模仿socket请求返回页面的方法
程序员文章站
2024-02-02 21:53:40
本文实例讲述了php实现模仿socket请求返回页面的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
本文实例讲述了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);
}
$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程序设计有所帮助。