您的位置:澳门402永利com > 关于计算机 > HTTP央浼并赢得重临值

HTTP央浼并赢得重临值

发布时间:2019-09-26 03:09编辑:关于计算机浏览(136)

    通过HTTP左券客商端类HttpClient来介绍PHP POST HTTP央浼的措施,这几个类你可以到法定

    若是你要选拔fsockopen函数我们必须在php.ini中把allow_url_fopen = On 设置为打开状态。

    下载好后透过多少个公文来测量试验下,新建贰个PHP文件加入如下内容:

     代码如下

     fsockopen() Example

    <?php
         include_once('HttpClient.class.php');
         //目的主机的地方,笔者这边填上测验的地方
         $Client = new HttpClient("192.168.1.5");
         $url = "
         //POST的参数
         $params = array('username'=>"guowenlong",'password'=>"hahahaha");
         $pageContents = HttpClient::quickPost($url, $params);
         echo $pageContents;
    ?>

     代码如下

    地点代码第5行中的央求页面地址是receive.php所以再建三个receive.php文件,写入如下内容:

    <?php
    $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />n";
    } else {
        $out = "GET / HTTP/1.1rn";
        $out .= "Host: www.example.comrn";
        $out .= "Connection: Closernrn";
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?>

     代码如下

    伪造post

    <?php
        echo "username:".$_POST['username']."<br/>";
        echo "password:".$_POST['password']."<br/>";
    ?>

    POST HTTP央求(U奔驰G级L)并收获重回值

     

     代码如下

    推行你建的第4个PHP文件将见到如下内容: username:guowenlong password:hahahaha

    <?php 

      $srv_ip = '192.168.1.5';//你的对象服务地址. 

      $srv_port = 80;//端口 

      $url = ''; //接收你post的U大切诺基L具体地址  

      $fp = ''; 

      $errno = 0;//错误管理 

      $errstr = '';//错误管理 

      $timeout = 10;//多长期没有连上就半途而废 

      $post_str = "username=demo&password=hahaha";//要交给的内容. 

      //打开互联网的 Socket 链接。 

      $fp = fsockopen($srv_ip,$srv_port,$errno,$errstr,$timeout); 

      if (!$fp){ 

       echo('fp fail'); 

      } 

      $content_length = strlen($post_str); 

      $post_header = "POST $url HTTP/1.1rn"; 

      $post_header .= "Content-Type: application/x-www-form-urlencodedrn"; 

      $post_header .= "User-Agent: MSIErn"; 

      $post_header .= "Host: ".$srv_ip."rn"; 

      $post_header .= "Content-Length: ".$content_length."rn"; 

      $post_header .= "Connection: closernrn"; 

      $post_header .= $post_str."rnrn"; 

      fwrite($fp,$post_header); 

     

      $inheader = 1; 

      while(!feof($fp)){//测量试验文件指针是还是不是到了文本截至的职位 

       $line = fgets($fp,1024); 

       //去掉央浼包的头音讯 

       if ($inheader && ($line == "n" || $line == "rn")) { 

             $inheader = 0; 

        } 

        if ($inheader == 0) { 

          echo $line; 

        } 

      } 

      fclose($fp); 

      unset ($line); 

    ?> 

    轻便易行表达:代码第二行是你的IP地址或域名,第四行是您要POST的页面包车型大巴具体地址,本例用的是fsock.php,fsock.php内容如下:

     代码如下

    <?php 

        echo "username:".$_POST['username']."<br/>"; 

        echo "password:".$_POST['password']; 

    ?> 

     

    结果为:

    username:demo

    password:hahaha

    伪造get

    再正是伪造post,get方法。

     代码如下

    <?php
    //fsocket模拟post提交
    $purl = "";
    print_r(parse_url($url));
    sock_post($purl,"uu=55555555555555555");
    //fsocket模拟get提交
    function sock_get($url, $query)
    {
       $info = parse_url($url);
       $fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
       $head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0rn";
       $head .= "Host: ".$info['host']."rn";
       $head .= "rn";
       $write = fputs($fp, $head);
       while (!feof($fp))
       {
        $line = fread($fp,4096);
        echo $line;
       }
    }
    sock_post($purl,"uu=rrrrrrrrrrrrrrrr");
    function sock_post($url, $query)
    {
       $info = parse_url($url);
       $fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
       $head = "POST ".$info['path']."?".$info["query"]." HTTP/1.0rn";
       $head .= "Host: ".$info['host']."rn";
       $head .= "Referer: ";
       $head .= "Content-type: application/x-www-form-urlencodedrn";
       $head .= "Content-Length: ".strlen(trim($query))."rn";
       $head .= "rn";
       $head .= trim($query);
       $write = fputs($fp, $head);
       while (!feof($fp))
       {
        $line = fread($fp,4096);
        echo $line;
       }
    }
    ?>

    本文由澳门402永利com发布于关于计算机,转载请注明出处:HTTP央浼并赢得重临值

    关键词: