• 技术文章 >后端开发 >php教程

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

    2016-05-29 11:48:24原创287
    使用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);
      $info = 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;
      }
      //$head = "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)){
        $line = fread($fp,);
        echo $line;
      }
      fclose($fp);
      return true;
    }
    //fsockopen模拟POST
    function sock_post($url,$data=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知识请持续关注本站,谢谢。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Discuz!X中SESSION机制实例详解_PHP 下一篇:深入浅析PHP7.0新特征(五大新特征)_PHP
    Web大前端开发直播班

    相关文章推荐

    • PHP程序员的调试技术_PHP教程• PHP+Java的开发经验:不要太面向对象_PHP教程• 通过PHP来实现登录验证码功能_PHP教程• PHP中实现页面跳转实例_PHP教程• 基于PHP编程注意事项的小结_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网