這篇文章主要介紹了php使用fsockopen函數(shù)發(fā)送post,get請(qǐng)求獲取網(wǎng)頁(yè)內(nèi)容的方法,是PHP關(guān)于socket編程的一個(gè)典型應(yīng)用,需要的朋友可以參考下
本文實(shí)例講述了php使用fsockopen函數(shù)發(fā)送post,get請(qǐng)求獲取網(wǎng)頁(yè)內(nèi)容的方法。分享給大家供大家參考。
具體實(shí)現(xiàn)代碼如下:
- $post =1;
- $url = parse_url($url);
- $host ='http://www.survivalescaperooms.com';
- $path ='/';
- $query ='?action=Vevb.com';
- $port =80;
- if($post) {
- $out = "post $path http/1.0 ";
- $out .= "accept: */* ";
- //$out .= "referer: $boardurl ";
- $out .= "accept-language: zh-cn ";
- $out .= "content-type: application/x-www-form-urlencoded ";
- $out .= "user-agent: $_server[http_user_agent] ";
- $out .= "host: $host ";
- $out .= 'content-length: '.strlen($post)." ";
- $out .= "connection: close ";
- $out .= "cache-control: no-cache ";
- $out .= "cookie: $cookie ";
- $out .= $post;
- } else {
- $out = "get $path http/1.0 ";
- $out .= "accept: */* ";
- //$out .= "referer: $boardurl ";
- $out .= "accept-language: zh-cn ";
- $out .= "user-agent: $_server[http_user_agent] ";
- $out .= "host: $host ";
- $out .= "connection: close ";
- $out .= "cookie: $cookie ";
- }
- $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
- if(!$fp)
- {
- return '';//note $errstr : $errno
- } else {
- return '成功訪問(wèn)';
- }
fsockopen語(yǔ)法:
resource fsockopen(string $hostname [,int $port = -1 [, int &$errno [,string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
啟動(dòng)一個(gè)套接字連接到指定的主機(jī)的資源,php支持在互聯(lián)網(wǎng)領(lǐng)域的目標(biāo)和unix在所支持的套接字傳輸列表說(shuō)明,所支持的傳輸列表也可以檢索使用stream_get_transports().
該插座預(yù)設(shè)會(huì)被啟用,阻塞模式,你可以切換到非阻塞模式使用stream_set_blocking(),如果上面實(shí)例看不懂,就來(lái)看個(gè)簡(jiǎn)的吧,代碼如下:
- $fp = fsockopen("www.survivalescaperooms.com", 80, $errno, $errstr, 30);
- if (!$fp) {
- echo "$errstr ($errno) ";
- } else {
- $out = "get / http/1.1 ";
- $out .= "host: www.survivalescaperooms.com";
- $out .= "connection: close ";
- fwrite($fp, $out);
- while (!feof($fp)) {
- echo fgets($fp, 128);
- }
- fclose($fp);
- }
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答