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

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

WBOY
WBOYOriginal
2016-06-13 11:17:42950browse

 

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);
 }

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn