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基础知识:类与对象(1)
Dec 13 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
PHP下常用正则表达式整理
Oct 26 PHP
PHP新手入门学习方法
May 08 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
提高php编程效率技巧
Aug 13 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
[原创]php简单隔行变色功能实现代码
Jul 09 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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设计模式之命令模式使用示例
2014/03/02 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python中的推导式使用详解
2015/06/03 Python
Python通过select实现异步IO的方法
2015/06/04 Python
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
Python3几个常见问题的处理方法
2019/02/26 Python
python config文件的读写操作示例
2019/09/27 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
Python属性和内建属性实例解析
2020/01/14 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
Django models文件模型变更错误解决
2020/05/11 Python
python属于软件吗
2020/06/18 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
南京青奥会口号
2014/06/12 职场文书
简历中自我评价范文
2015/03/11 职场文书
环境卫生标语
2015/08/03 职场文书
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技