|
- <?php
- //post.php
- function Post($host,$port)
- {
- //$host="127.0.0.1";
- //建立连接
- $conn = fsockopen($host,$port);
- if (!$conn)
- {
- die("Con error");
- }
- //循环发送5次数据
- //
- for($i = 0;$i<5;$i++)
- {
- $data="user_name=admin".$i;
- WriteData($conn,$host,$data);
- echo $i."<br />";
- }
-
- fclose($conn);
- }
- function WriteData($conn,$host,$data)
- {
- $header = "POST /test.php HTTP/1.1\r\n";
- $header.= "Host : {$host}\r\n";
- $header.= "Content-type: application/x-www-form-urlencoded\r\n";
- $header.= "Content-Length:".strlen($data)."\r\n";
- //Keep-Alive是关键
- $header.= "Connection: Keep-Alive\r\n\r\n";
- $header.= "{$data}\r\n\r\n";
-
- fwrite($conn,$header);
-
- //取结果
- //$result = '';
- //while(!feof($conn))
- //{
- // $result .= fgets($conn,128);
- //}
- //return $result;
- }
- Post('127.0.0.1',80);
-
- ?>
复制代码
- <?php
- //test.php
- $fp = fopen('result.txt','a');
- $data = $_POST['user_name']." -- ". date('Y-m-d H:i:s')."\r\n";
- fwrite($fp,$data);
- fclose($fp);
- ?>
复制代码
没什么技术难度
脑子一下子没转过来,每发一次都要建连接的方式太耗资源。用这种方式一次连接后,可以发多次数据,不过连接好像最长不超过30秒,不知道是哪里限制的。
|
|