1 function triggerRequest($url, $post_data = array(), $cookie = array()){ 2 //可以通过POST或者GET传递一些参数给要触发的脚本 3 $url_array = parse_url($url); //获取URL信息,以便平凑HTTP HEADER 4 $port = isset($url_array[‘port‘])? $url_array[‘port‘] : 80; 5 6 $fp = fsockopen($url_array[‘host‘], $port, $errno, $errstr, 30); 7 if (!$fp){ 8 return FALSE; 9 } 10 11 $getPath = $url_array[‘path‘]; 12 isset($url_array[‘query‘]) && $getPath.= "?". $url_array[‘query‘]; 13 $method = empty($post_data) ? "GET":"POST"; 14 15 16 $header = $method . " " . $getPath; 17 $header .= " HTTP/1.1\r\n"; 18 $header .= "Host: ". $url_array[‘host‘] . "\r\n"; //HTTP 1.1 Host域不能省略 19 20 21 if(!empty($post_data)){ 22 $_post = http_build_query($post_data); 23 24 $header .= "Content-Type: application/x-www-form-urlencoded\r\n";//POST数据 25 $header .= "Content-Length: ". strlen($_post) ." \r\n";//POST数据的长度 26 $header .= "Connection:Close\r\n\r\n"; 27 28 $header .= $_post."\r\n\r\n "; //传递POST数据 29 } 30 31 32 fwrite($fp, $header); 33 //echo fread($fp, 1024); //我们不关心服务器返回 34 fclose($fp); 35 return true; 36 }
时间: 2024-11-07 12:49:59