php 用fsocket模拟浏览器POST GET

来源:互联网 发布:电脑怎么优化系统 编辑:程序博客网 时间:2024/06/01 21:16

模拟发出请求的页面index.php

<?php //fsocket模拟get提交 $gurl = "http://localhost/php/t.php?uu=gggggg"; //print_r(parse_url($gurl)); echo "以下是GET方式的响应内容:<br>";sock_get($gurl);  function sock_get($url) { $info = parse_url($url); $fp = fsockopen($info["host"], 80, $errno, $errstr, 3); $head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0\r\n"; $head .= "Host: ".$info['host']."\r\n"; $head .= "\r\n"; $write = fputs($fp, $head); while (!feof($fp)) { $line = fgets($fp);echo $line."<br>"; } } //fsocket模拟post提交$purl = "http://localhost/php/t.php";echo "以下是POST方式的响应内容:<br>";sock_post($purl,"uu=rrrrrrrrrrrr&&kk=mmmmmm");  function sock_post($url, $query) { $info = parse_url($url); $fp = fsockopen($info["host"], 80, $errno, $errstr, 3); $head = "POST ".$info['path']." HTTP/1.0\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 = fgets($fp); echo $line."<br>"; } } ?> 

请求的响应页面t.php

<?phpif(isset($_GET['uu'])){echo '<font color="red">t.php中$_GET["uu"]的值是:'.$_GET['uu']."</font><br>";}if(isset($_POST['uu'])){echo '<font color="red">t.php中$_POST的值是:</font><br>';print_r($_POST);}?>

原创粉丝点击