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);
}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号