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代码
Apr 09 PHP
PHP array_push 数组函数
Dec 26 PHP
PHP采集利器 Snoopy 试用心得
Jul 03 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
php多线程实现方法及用法实例详解
Oct 26 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 PHP
TP5框架安全机制实例分析
Apr 05 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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
js性能优化技巧
2015/11/29 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
js实现动态时钟
2020/03/12 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python动态监控日志内容的示例
2014/02/16 Python
Python实现方便使用的级联进度信息实例
2015/05/05 Python
python连接数据库的方法
2017/10/19 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python 自动重连wifi windows的方法
2018/12/18 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
大学生家政服务项目创业计划书
2014/01/30 职场文书
行政专员求职信范文
2014/05/03 职场文书
校园文化标语
2014/06/18 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js