PHP实现模仿socket请求返回页面的方法


Posted in PHP onNovember 04, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
php实现分页工具类分享
Jan 09 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
php之可变变量的实例详解
Sep 12 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
php和asp语法上的区别总结
May 12 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 PHP
php验证session无效的解决方法
Nov 04 #PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 #PHP
php实现获取文章内容第一张图片的方法
Nov 04 #PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 #PHP
CI框架装载器Loader.php源码分析
Nov 04 #PHP
php+ajax实现无刷新分页的方法
Nov 04 #PHP
CI框架安全类Security.php源码分析
Nov 04 #PHP
You might like
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
jQuery 源码分析笔记(7) Queue
2011/06/19 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python实现发送和获取手机短信验证码
2016/01/15 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python多项式回归的实现方法
2019/03/11 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
EJB实例的生命周期
2016/10/28 面试题
制冷与电控专业应届生求职信
2013/11/11 职场文书
运动会演讲稿
2014/05/07 职场文书
会计求职自荐信
2015/03/26 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL