加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-04-30 13:05:03 所属栏目:PHP教程 来源:
导读:这篇文章主要介绍了php使用fsockopen函数发送post,get请求获取网页内容的方法,是PHP关于socket编程的一个典型应用,需要的朋友可以参考下本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享

这篇文章主要介绍了php使用fsockopen函数发送post,get请求获取网页内容的方法,是PHP关于socket编程的一个典型应用,需要的朋友可以参考下

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

具体实现代码如下:

$post =1; 

$url = parse_url($url); 

$host ='https://www.Cuoxin.com'; 

$path ='/'; 

$query ='?action=Cuoxin.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.Cuoxin.com", 80, $errno, $errstr, 30); 

 if (!$fp) { 

  echo "$errstr ($errno) "; 

 } else { 

  $out = "get / http/1.1 "; 

  $out .= "host: www.Cuoxin.com"; 

  $out .= "connection: close "; 

  fwrite($fp, $out); 

  while (!feof($fp)) { 

   echo fgets($fp, 128); 

  } 

  fclose($fp); 

 } 

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!