利用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 采集程序 常用函数
Dec 18 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
php抽奖小程序的实现代码
Jun 18 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
九个你必须知道而且又很好用的php函数和特点
Aug 08 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
Apr 01 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
smtp邮件发送一例
2006/10/09 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
php-app开发接口加密详解
2018/04/18 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python制作简单的网页爬虫
2015/11/22 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
python默认参数调用方法解析
2020/02/09 Python
英国综合网上购物商城:The Hut
2018/07/03 全球购物
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
小班幼儿评语大全
2014/04/30 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
大学计划书范文800字
2014/08/14 职场文书
关于感谢信的范文
2015/01/23 职场文书
行为规范主题班会
2015/08/13 职场文书
创业计划书之美容店
2019/09/16 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
python 详解turtle画爱心代码
2022/02/15 Python
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL
SpringBoot Http远程调用的方法
2022/08/14 Java/Android