利用PHP fsockopen 模拟POST/GET传送数据的方法


Posted in PHP onSeptember 22, 2015

使用php可以模拟 post 和 get 传送数据到别的网页或站点

$arr=array(
  'user'=>'test',
  'password'=>''
);
sock_get($post_url,$arr);
sock_post($post_url,$arr); 
//fsocket模拟get提交
function sock_get($url,$query=array()){
  $query_str = http_build_query($query);
  $<span id="_nwp" style="width: auto; height: auto; float: none;"><a id="_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=info&k=info&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid=" target="_blank" mpid="" style="text-decoration: none;"><span style="color:#ff;font-size:px;width:auto;height:auto;float:none;">info</span></a></span> = parse_url($url);
  $port = isset($info['port'])? $info['port'] : ;
  $query_str = empty($info["query"])?$query_str:$info["query"].'&'.$query_str;
  $fp = fsockopen($info["host"], $port, $errno, $errstr, );
  if(!$fp){
    return FALSE;
  }
  //$<span id="_nwp" style="width: auto; height: auto; float: none;"><a id="_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=head&k=head&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid=" target="_blank" mpid="" style="text-decoration: none;"><span style="color:#ff;font-size:px;width:auto;height:auto;float:none;">head</span></a></span> = "GET ".$info['path']."?".$info["query"]." HTTP/.\r\n";
  $head = "GET ".$info['path']."?".$query_str." HTTP/.\r\n";
  $head .= "Host: ".$info['host']."\r\n";
  $head .= "\r\n";
  $write = fputs($fp,$head);
  while(!feof($fp)){
    $<span id="_nwp" style="width: auto; height: auto; float: none;"><a id="_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=line&k=line&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid=" target="_blank" mpid="" style="text-decoration: none;"><span style="color:#ff;font-size:px;width:auto;height:auto;float:none;">line</span></a></span> = fread($fp,);
    echo $line;
  }
  fclose($fp);
  return true;
}
//fsockopen模拟POST
function sock_post($url,$<span id="_nwp" style="width: auto; height: auto; float: none;"><a id="_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=data&k=data&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid=" target="_blank" mpid="" style="text-decoration: none;"><span style="color:#ff;font-size:px;width:auto;height:auto;float:none;">data</span></a></span>=array()){
  $query = http_build_query($data); 
  $info = parse_url($url);
  $fp = fsockopen($info["host"], , $errno, $errstr, );
  $head = "POST ".$info['path']."?".$info["query"]." HTTP/.\r\n";
  $head .= "Host: ".$info['host']."\r\n";
  $head .= "Referer: http://".$info['host'].$info['path']."\r\n";
  $head .= "Content-type: application/x-www-form-urlencoded\r\n";
  $head .= "Content-Length: ".strlen(trim($query))."\r\n";
  $head .= "\r\n";
  $head .= trim($query);
  $write = fputs($fp, $head);
  while (!feof($fp))
  {
    $line = fread($fp,);
    echo $line;
  }
}

以上内容是给大家分享的利用PHP fsockopen 模拟POST/GET传送数据的方法,希望大家能够喜欢,更多有关php fsockopen知识请持续关注本站,谢谢。

PHP 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
php 数组使用详解 推荐
Jun 02 PHP
php实现下载限制速度示例分享
Feb 13 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 #PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 #PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 #PHP
PHP实现搜索相似图片
Sep 22 #PHP
从刷票了解获得客户端IP的方法
Sep 21 #PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 #PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 #PHP
You might like
php miniBB中文乱码问题解决方法
2008/11/25 PHP
php自动加载的两种实现方法
2010/06/21 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
angular.bind使用心得
2015/10/26 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
乔丹名人堂演讲稿
2014/05/24 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
庐山导游词
2015/02/03 职场文书
投标售后服务承诺书
2015/04/29 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技