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 无限极分类
Mar 27 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
php 代码优化之经典示例
Mar 24 PHP
深入PHP操作MongoDB的技术总结
Jun 02 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
Nov 21 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
laravel请求参数校验方法
Oct 10 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如何将日志写进syslog
2013/06/28 PHP
php中explode函数用法分析
2014/11/15 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
自制PHP框架之设计模式
2017/05/07 PHP
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
python常见排序算法基础教程
2017/04/13 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
Python request操作步骤及代码实例
2020/04/13 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
Python之字典添加元素的几种方法
2020/09/30 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
大学生创业计划书的用途
2014/01/08 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
单位实习鉴定评语
2015/01/04 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
vue封装数字翻牌器
2022/04/20 Vue.js
Android studio 简单计算器的编写
2022/05/20 Java/Android
Python日志模块logging用法
2022/06/05 Python