1 <?php 2 3 /* 4 信息采集 : 5 通过php脚本程序 发出请求 到服务器中 的一个过程 。 6 通过tcp连接 到服务器 然后进行 模拟获取数据 7 函数:fsockopen() 连接目标服务器 8 文件函数: fopen() fwrite() fclose() 9 10 发出 get() 请求 11 */ 12 13 define('CLRF', " "); //CRLF 回车换行 14 15 //1 请求行 16 $request_data = 'GET /ecshop41_demo2/index.php?m=home&c=shop&a=index HTTP/1/1'.CLRF; 17 18 //2 请求头 19 $request_data .= 'HOST:127.0.0.1:8080'.CLRF;// 主机地址 20 //模拟浏览器 请求发出 21 $request_data .= 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'.CLRF; 22 //keep-alive 23 $request_data .= 'connection:close'.CLRF; //用完就关闭 24 //空行 25 $request_data .= CLRF; 26 27 //get() 请求没有请求主题 28 29 //建立连接 用resource fsockopen ('host' ,'port')打开一个网络连接或者一个Unix套接字连接 30 31 $fp = fsockopen('127.0.0.1','8080',$error,$errstr,30); 32 if ($fp) { 33 //echo 'request fuccessful...'.CRLF; 34 }else{ 35 echo $errstr; 36 } 37 38 //发出请求 39 fwrite($fp, $request_data); 40 41 //接收响应 从服务器中读取数据 42 while (! feof($fp)) { 43 // string iconv ( string $in_charset , string $out_charset , string $str ) 字符串按要求的字符编码来转换 44 echo iconv('utf-8', 'gbk',fgets($fp, 1024+1)); 45 } 46 fclose($fp);