php openget,php fsockopen函数发送post,get请求获得网页内容(反防采集)_PHP教程

本文介绍了如何使用PHP的fsockopen函数来发送POST和GET请求,从而获取远程网页的内容。通过设置HTTP头信息和数据包内容,可以实现反防采集的功能。示例代码详细解释了如何构造请求并建立套接字连接。
摘要由CSDN通过智能技术生成

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...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值