php使用fsockopen函数发送post,get请求获取网页内容的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。

具体实现代码如下:

复制代码 代码如下:
$post =1;
$url = parse_url($url);
$host ='//www.jb51.net';
$path ='/';
$query ='?action=phpfensi.com';
$port =80;
 
if($post) {
  $out = "post $path http/1.0 ";
  $out .= "accept: */* ";
  //$out .= "referer: $boardurl ";
  $out .= "accept-language: zh-cn ";
  $out .= "content-type: application/x-www-form-urlencoded ";
  $out .= "user-agent: $_server[http_user_agent] ";
  $out .= "host: $host ";
  $out .= 'content-length: '.strlen($post)." ";
  $out .= "connection: close ";
  $out .= "cache-control: no-cache ";
  $out .= "cookie: $cookie ";
  $out .= $post;
 } else {
  $out = "get $path http/1.0 ";
  $out .= "accept: */* ";
  //$out .= "referer: $boardurl ";
  $out .= "accept-language: zh-cn ";
  $out .= "user-agent: $_server[http_user_agent] ";
  $out .= "host: $host ";
  $out .= "connection: close ";
  $out .= "cookie: $cookie ";
 }
 $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
 if(!$fp) 
 {
  return '';//note $errstr : $errno 
 } 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.jb51.net", 80, $errno, $errstr, 30);
 if (!$fp) {
  echo "$errstr ($errno) ";
 } else {
  $out = "get / http/1.1 ";
  $out .= "host: www.jb51.net";
  $out .= "connection: close ";
  fwrite($fp, $out);
  while (!feof($fp)) {
   echo fgets($fp, 128);
  }
  fclose($fp);
 }

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

Function eregi is deprecated (解决方法)

在php升级到php5.3之后后,在使用的过程经常发现有的程序会出现Function eregi() is deprecated 的报错信息。是什么原因呢?这是因为php5.3中不再支持...

php若干单维数组遍历方法的比较

复制代码 代码如下: <?php //a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range(...

PHP加密解密函数详解

分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */...

基于PHP的cURL快速入门教程 (小偷采集程序)

基于PHP的cURL快速入门教程 (小偷采集程序)

最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。 为什么要用 cURL? 是的,我们可以通过其他办法获取网页内容。大多数时候,我因...

学习php设计模式 php实现策略模式(strategy)

学习php设计模式 php实现策略模式(strategy)

一、意图 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 二、策略模式结构图   三、策略模式...