网站地图    收藏   

主页 > php专栏 > php函数大全 >

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

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:

[导读] functionhttpget($url,$followredirects=true){global$final_url;$url_parsed=parse_url($url);if(emptyempty($url_parsed[#39;scheme#39......

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论