当前位置:首页 > PHP教程 > php函数 > 列表

php模仿用户访问网页程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-17 20:29:34 浏览: 评论:0 
  1. function httpget( $url$followredirects=true ) {  
  2. global $final_url;  
  3. $url_parsed = parse_url($url);  
  4. if ( emptyempty($url_parsed['scheme']) ) {  
  5.     $url_parsed = parse_url('http://'.$url);  
  6. }  
  7. $final_url = $url_parsed;  
  8.   
  9. $port = $url_parsed["port"];  
  10. if ( !$port ) {  
  11.     $port = 80; //开源代码phpfensi.com 
  12. }  
  13. $rtn['url']['port'] = $port;  
  14.   
  15. $path = $url_parsed["path"];  
  16. if ( emptyempty($path) ) {  
  17.     $path="/";  
  18. }  
  19. if ( !emptyempty($url_parsed["query"]) ) {  
  20.     $path .= "?".$url_parsed["query"];  
  21. }  
  22. $rtn['url']['path'] = $path;  
  23.   
  24. $host = $url_parsed["host"];  
  25. $foundbody = false;  
  26.   
  27. $out = "get $path http/1.0 ";  
  28. $out .= "host: $host ";  
  29. $out .= "user-agent:      mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1) gecko/20061010 firefox/2.0 ";  
  30. $out .= "connection: close ";  
  31.   
  32. if ( !$fp = @fsockopen($host$port$errno$errstr, 30) ) {  
  33.     $rtn['errornumber'] = $errno;  
  34.     $rtn['errorstring'] = $errstr;  
  35.   
  36. }  
  37. fwrite($fp$out);  
  38. while (!@feof($fp)) {  
  39.   
  40.     $s = @fgets($fp, 128);  
  41.     if ( $s == " " ) {  
  42.         $foundbody = true;  
  43.         continue;  
  44.     }  
  45.     if ( $foundbody ) {  
  46.         $body .= $s;  
  47.     } else {  
  48.         if ( ($followredirects) && (stristr($s"location:") != false) ) {  
  49.             $redirect = preg_replace("/location:/i"""$s);  
  50.             return httpget( trim($redirect) );  
  51.         }  
  52.         $header .= $s;  
  53.     }  
  54. }  
  55.   
  56. fclose($fp);  
  57.   
  58. return(trim($body)); 

Tags: php模仿用户 网页程序代码

分享到: