利用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 相关文章推荐
php mssql 数据库分页SQL语句
Dec 16 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php实现RSA加密类实例
Mar 26 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
详解php与ethereum客户端交互
Apr 28 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 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
神族 Protoss 历史背景
2020/03/14 星际争霸
php 全文搜索和替换的实现代码
2008/07/29 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
javascript深入理解js闭包
2010/07/03 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
python基于multiprocessing的多进程创建方法
2015/06/04 Python
python实现猜数字小游戏
2020/03/24 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
大学新生军训个人的自我评价
2013/10/03 职场文书
师德师风整改措施
2014/10/24 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
教师旷工检讨书
2015/08/15 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL