php模仿使用者訪問網頁程式碼

來源:互聯網
上載者:User

php教程模仿使用者訪問網頁程式碼

function HTTPget( $url, $followredirects=true ) {


global $final_url;


$url_parsed = parse_url($url);


if ( empty($url_parsed['scheme']) ) {


    $url_parsed = parse_url('HTTP://'.$url);


}


$final_url = $url_parsed;


 


$port = $url_parsed["port"];


if ( !$port ) {


    $port = 80;


}


$rtn['url']['port'] = $port;


 


$path = $url_parsed["path"];


if ( empty($path) ) {


    $path="/";


}


if ( !empty($url_parsed["query"]) ) {


    $path .= "?". $url_parsed["query"];


}


$rtn['url']['path'] = $path;


 


$host = $url_parsed["host"];


$foundbody = false;


 


$out = "get $path HTTP/1.0rn";


$out .= "host: $hostrn";


$out .= "user-agent:      mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1) gecko/20061010 firefox/2.0rn";


$out .= "connection: closernrn";


 


if ( !$fp = @fsockopen($host, $port, $errno, $errstr, 30) ) {


    $rtn['errornumber'] = $errno;


    $rtn['errorstring'] = $errstr;


 


}


fwrite($fp, $out);


while (!@feof($fp)) {


 


    $s = @fgets($fp, 128);


    if ( $s == "rn" ) {


        $foundbody = true;


continue;


    }


    if ( $foundbody ) {


        $body .= $s;


    } else {


        if ( ($followredirects) && (stristr($s, "location:") != false) ) {


            $redirect = preg_replace("/location:/i", "", $s);


            return HTTPget( trim($redirect) );


        }


        $header .= $s;


    }


}


 


fclose($fp);


 


return(trim($body));

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.