php教程 fsockopen函數發送post,get請求獲得網頁內容(反防採集)
$post =1;
$url = parse_url($url);
$host ='http://www.bkjia.com';
$path ='/';
$query ='?action=php100.com';
$port =80;
if($post) {
$out = "post $path http/1.0rn";
$out .= "accept: */*rn";
//$out .= "referer: $boardurlrn";
$out .= "accept-language: zh-cnrn";
$out .= "content-type: application/x-www-form-urlencodedrn";
$out .= "user-agent: $_server[http_user_agent]rn";
$out .= "host: $hostrn";
$out .= 'content-length: '.strlen($post)."rn";
$out .= "connection: closern";
$out .= "cache-control: no-cachern";
$out .= "cookie: $cookiernrn";
$out .= $post;
} else {
$out = "get $path http/1.0rn";
$out .= "accept: */*rn";
//$out .= "referer: $boardurlrn";
$out .= "accept-language: zh-cnrn";
$out .= "user-agent: $_server[http_user_agent]rn";
$out .= "host: $hostrn";
$out .= "connection: closern";
$out .= "cookie: $cookiernrn";
}
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
if(!$fp)
{
return '';//note $errstr : $errno rn
} else {
return '成功訪問';
}
/*
fsockopen文法
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
啟動一個通訊端串連到指定的主機的資源。
php支援在互連網領域的目標和unix在所支援的通訊端傳輸列表說明。所支援的傳輸列表也可以檢索使用stream_get_transports()。
該插座預設會被啟用,阻塞模式。你可以切換到非阻塞模式使用stream_set_blocking()。
如果上面執行個體看不懂,就來看個簡的吧
*/
$fp = fsockopen("www.bkjia.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
n";
} else {
$out = "get / http/1.1rn";
$out .= "host: www.bkjia.comrn";
$out .= "connection: closernrn";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
http://www.bkjia.com/PHPjc/445446.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445446.htmlTechArticlephp教程 fsockopen函數發送post,get請求獲得網頁內容(反防採集) $post =1; $url = parse_url($url); $host =http://www.bkjia.com; $path =/; $query =?action=php100.co...