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

 更新时间:2023年05月07日 12:03:33   投稿:shichen2014  
这篇文章主要介绍了php使用fsockopen函数发送post,get请求获取网页内容的方法,是PHP关于socket编程的一个典型应用,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 基于ThinkPHP实现批量删除

    基于ThinkPHP实现批量删除

    这篇文章主要介绍了基于ThinkPHP实现批量删除的代码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • php实现统计目录文件大小的函数

    php实现统计目录文件大小的函数

    本文给大家介绍了使用php实现统计目录文件大小的函数,其主要的思路是通过递归遍历目录中的所有文件从而计算出文件总大小的,有需要的小伙伴可以参考下
    2015-12-12
  • php访问数组最后一个元素的函数end()用法

    php访问数组最后一个元素的函数end()用法

    这篇文章主要介绍了php访问数组最后一个元素的函数end()用法,实例分析了php中end函数访问数组元素的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP迭代器接口Iterator用法分析

    PHP迭代器接口Iterator用法分析

    这篇文章主要介绍了PHP迭代器接口Iterator用法,结合实例形式分析了PHP迭代器接口Iterator的概念、功能、定义与使用方法,需要的朋友可以参考下
    2017-12-12
  • 解析func_num_args与func_get_args函数的使用

    解析func_num_args与func_get_args函数的使用

    本篇文章是对func_num_args与func_get_args函数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP pthreads v3在centos7平台下的安装与配置操作方法

    PHP pthreads v3在centos7平台下的安装与配置操作方法

    这篇文章主要介绍了PHP pthreads v3在centos7平台下的安装与配置操作方法,结合图文与实例形式分析了PHP pthreads v3在centos7平台下的安装与配置操作具体步骤、相关命令与注意事项,需要的朋友可以参考下
    2020-02-02
  • PHP 获取文件路径(灵活应用__FILE__)

    PHP 获取文件路径(灵活应用__FILE__)

    __FILE__ ,是返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径
    2013-02-02
  • 特详细的PHPMYADMIN简明安装教程

    特详细的PHPMYADMIN简明安装教程

    简单的说,phpmyadmin就是一种mysql的管理工具,安装该工具后,即可以通过web形式直接管理mysql数据,而不需要通过执行系统命令来管理,
    2008-08-08
  • hadoop中一些常用的命令介绍

    hadoop中一些常用的命令介绍

    本篇文章是对hadoop中一些常用的命令进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 学习php设计模式 php实现装饰器模式(decorator)

    学习php设计模式 php实现装饰器模式(decorator)

    这篇文章主要介绍了php设计模式中的装饰模式,使用php实现装饰模式,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论