VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php模仿用户访问网页程序代码

  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)); 
  59.  

出处:http://www.phpfensi.com/php/20140817/4357.html


相关教程