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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
检查php文件中是否含有bom的函数
May 31 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
PHP生成RSS文件类实例
Dec 05 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
PHP中类的继承和用法实例分析
May 24 PHP
php和redis实现秒杀活动的流程
Jul 17 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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中最容易忘记的一些知识点总结
2013/04/28 PHP
CentOS安装php v8js教程
2015/02/26 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
python集合用法实例分析
2015/05/30 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
写好自荐信的几个要点
2013/12/26 职场文书
社区十八大感言
2014/01/19 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
Spring中bean集合注入的方法详解
2022/07/07 Java/Android