首页 > 语言 > PHP > 正文

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

2024-09-04 11:49:02
字体:大 中 小
来源:转载
供稿:网友
  1. $post =1; 
  2. $url = parse_url($url); 
  3. $host ='http://www.Vevb.com'; 
  4. $path ='/'; 
  5. $query ='?action=Vevb.com'; 
  6. $port =80; 
  7.   
  8. if($post) { 
  9.   $out = "post $path http/1.0 "; 
  10.   $out .= "accept: */* "; 
  11.   //$out .= "referer: $boardurl "; 
  12.   $out .= "accept-language: zh-cn "; 
  13.   $out .= "content-type: application/x-www-form-urlencoded "; 
  14.   $out .= "user-agent: $_server[http_user_agent] "; 
  15.   $out .= "host: $host "; 
  16.   $out .= 'content-length: '.strlen($post)." "; 
  17.   $out .= "connection: close "; 
  18.   $out .= "cache-control: no-cache "; 
  19.   $out .= "cookie: $cookie "; 
  20.   $out .= $post; 
  21.  } else { 
  22.   $out = "get $path http/1.0 "; 
  23.   $out .= "accept: */* "; 
  24.   //$out .= "referer: $boardurl "; 
  25.   $out .= "accept-language: zh-cn "; 
  26.   $out .= "user-agent: $_server[http_user_agent] "; 
  27.   $out .= "host: $host "; 
  28.   $out .= "connection: close "; 
  29.   $out .= "cookie: $cookie "; 
  30.  } 
  31.  $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); 
  32.  if(!$fp)  
  33.  { 
  34.   return '';//note $errstr : $errno  
  35.  } else { 
  36.   return '成功访问'; 
  37.  }

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(),如果上面实例看不懂,就来看个简的吧,代码如下:

  1. $fp = fsockopen("www.Vevb.com", 80, $errno, $errstr, 30); 
  2.  if (!$fp) { 
  3.   echo "$errstr ($errno) "; 
  4.  } else { 
  5.   $out = "get / http/1.1 "; 
  6.   $out .= "host: www.Vevb.com"; 
  7.   $out .= "connection: close "; 
  8.   fwrite($fp, $out); 
  9.   while (!feof($fp)) { 
  10.    echo fgets($fp, 128); 
  11.   } 
  12.   fclose($fp); 
  13.  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表