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 相关文章推荐
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
浅析php原型模式
Nov 25 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
php简单socket服务器客户端代码实例
May 18 PHP
php 解决substr()截取中文字符乱码问题
Jul 18 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 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
如何开始收听短波广播
2021/03/01 无线电
十天学会php之第八天
2006/10/09 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
Js中sort()方法的用法
2006/11/04 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python基于select实现的socket服务器
2016/04/13 Python
详谈python read readline readlines的区别
2017/09/22 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
从python读取sql的实例方法
2020/07/21 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
捐助感谢信
2015/01/22 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python