PHP实现模仿socket请求返回页面的方法
编程学习 2021-07-05 09:50www.dzhlxh.cn编程入门
这篇文章主要介绍了PHP实现模仿socket请求返回页面的方法,是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程序设计有所帮助。