PHP之post请求php脚本实现

 1 <?php
 2 
 3     //php 的post请求
 4 
 5     define('CLRF', "\r\n");
 6     
 7 
 8     //请求数据,请求主题
 9     $post_data = array(
10         'root' => 'root',
11         'root' => 'root',
12         'verify' => 'aaa'
13     );
14     //http_build_query()生成 URL-encode 之后的请求字符串
15     $query_str = http_build_query($post_data);
16     // die($query_str);
17     
18 
19     //请求行 请求的是一个验证用户的地址 而不是登陆地址 登陆地址还是get请求
20     $request_data = 'POST /ecshop41_demo2/index.php?m=back&c=admin&a=check HTTP/1.1'.CLRF;
21 
22     //请求头
23     $request_data .= 'Host:127.0.0.1 :8080' .CLRF;//主机
24     $request_data .= 'User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'.CLRF; //代理
25     $request_data .= 'Connection :close'.CLRF; //keep-alive
26 
27     //psot相关的头信息
28     $request_data .= 'Content-type: application/x-www-form-urlencoded'.CLRF;
29     //请求数据大小 
30     $request_data .= 'Content-length: ' .strlen($query_str).CLRF;//用encode之后的字符串
31     $request_data .= CLRF;
32     //请求主体
33     $request_data .= $query_str;
34 
35     
36     $fp = fsockopen('127.0.0.1','8080',$errno,$errstr,30);
37 
38     //判断是否连接成功
39     if (!$fp) {
40         echo '连接失败...';
41     }
42 
43     fwrite($fp, $request_data);
44 
45     while (!feof($fp)) {
46         echo iconv('utf-8', 'gbk',fgets($fp, 1025));
47     }
48 
49     fclose($fp);

 

posted @ 2016-12-15 15:51  被时光移动的城市  阅读(295)  评论(0编辑  收藏  举报