PHP中使用socket方式GET、POST数据实例


Posted in PHP onApril 02, 2015

1. 使用 PHP 获得网页内容 GET方式

<?php

function socketGet($url, &$ret)

{

 $urlArr = parse_url($url);

 $host = $urlArr['host'];

 $port = isset($urlArr['port'])?$urlArr['port']:80;

 $path = isset($urlArr['path'])?$urlArr['path']:"/";

 $fp = fsockopen($host, $port, $errno, $errstr, 30);

 if (!$fp)

 {

  echo "$errstr ($errno)<br />\n";

  return false;

 }

 else

 {

     $out = "GET $path HTTP/1.1\r\n";

     $out .= "Host: $host\r\n";

     $out .= "Connection: Close\r\n\r\n";

  $ret = "";

     fwrite($fp, $out);

     while (!feof($fp))

  {

         $ret .= fgets($fp, 128);

     }

     fclose($fp);

 }

 return true;

}

?>

2. 使用 PHP 向页面 POST 数据

<?php

function socketPost($url, $data, &$ret)

{

 $urlArr = parse_url($url);

 $host = $urlArr['host'];

 $port = isset($urlArr['port'])?$urlArr['port']:80;

 $path = isset($urlArr['path'])?$urlArr['path']:"/";

 $fp = fsockopen($host, $port, $errno, $errstr, 30);

 if (!$fp)

 {

     echo "$errstr ($errno)<br />\n";

  return false;

 }

 else

 {

     $out = "POST $path HTTP/1.1\r\n";

     $out .= "Host: $host\r\n";

  $out .= "Content-Type: application/x-www-form-urlencoded\r\n";

  $out .= "Content-Length: ".strlen($data)."\r\n";

     $out .= "Connection: Keep-Alive\r\n\r\n";

  $out .= $data;

  $ret = "";

     fwrite($fp, $out);

     while (!feof($fp))

  {

         $ret .= fgets($fp, 128);

     }

     fclose($fp);

 }

 return true;

}

?>

如果post报错,把$out .= "Connection: Keep-Alive\r\n\r\n";中的Keep-Alive改成Close
PHP 相关文章推荐
用PHP和ACCESS写聊天室(十)
Oct 09 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
php查找字符串出现次数的方法
Dec 01 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
php计算整个目录大小的方法
Jun 19 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 #PHP
php中实现获取随机数组列表的自定义函数
Apr 02 #PHP
PHP版微信公众平台红包API
Apr 02 #PHP
php实现TCP端口检测的方法
Apr 01 #PHP
Yii实现自动加载类地图的方法
Apr 01 #PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 #PHP
php微信公众平台开发类实例
Apr 01 #PHP
You might like
咖啡与牛奶
2021/03/03 冲泡冲煮
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
php miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP 七大优势分析
2009/06/23 PHP
javascript一些实用技巧小结
2011/03/18 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python学生信息管理系统(完整版)
2020/04/05 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
python类的实例化问题解决
2019/08/31 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
法学专业毕业生求职信
2014/06/12 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
平遥古城导游词
2015/02/03 职场文书