`

PHP fsockopen

    博客分类:
  • php
阅读更多
1.fsockopen远程获取文件时有一个问题。

   一般是这样获取。
class SyncBook{
    private $fp;

    function SyncBook(){
        $this->fp = fsockopen('ip', 'port');
    }

    function test(){
            $query = "?mcpid={$this->mcpid}&bookid={$bookid}&securityid={$securityid}";
            $http = "GET " . $this->rootpage . $this->querypage . $query . " HTTP/1.1\r\n";
            $http .= 'Host:' . $this->host . "\r\n\r\n";
          
            fwrite($this->fp, $http);
            $content = '';
            while(!feof($this->fp)){
                $content .= fgets($this->fp);
            }
            $content = explode("\r\n\r\n", $content);

      }

}


当你想保持连接连续获取几个文件内容时,就会出错。只有第一次能获取数据,后面的都为空。
因为while循环里会把fp的指针移到最后一位。下次再读时,指针已经跳到最后一位了,所以再while时是读不到任何数据的。而且不能用rewind函数把指针指回初始处。因为fp不是一般文件,这是SOCKET源。

所以要想读多个只能每次都重新连接。或者果断用curl,放弃fsockopen。
分享到:
评论

相关推荐

    利用PHP fsockopen 模拟POST/GET传送数据的方法

    `fsockopen`函数是PHP提供的一种低级别网络I/O接口,它允许我们直接打开到远程或本地服务器的套接字连接。本文将详细讲解如何使用`fsockopen`函数来模拟POST和GET请求,以及相关的知识点。 首先,`fsockopen`函数的...

    php源码 fsockopen获取网页内容实例详解

    本文将详细介绍如何使用PHP中的fsockopen函数获取网页内容,以及相关的PHP代码实例。fsockopen是PHP提供的一个网络函数,主要用于打开一个网络连接或Unix域套接字的连接。通过fsockopen函数,我们可以向服务器发送...

    fsockopen get/post 表单及上传文件例子

    在PHP编程中,`fsockopen`函数是一个非常重要的网络通信工具,它允许开发者通过创建一个到指定主机的套接字连接来实现低级别的网络I/O操作。本示例主要探讨如何利用`fsockopen`进行GET和POST请求,以及处理文件上传...

    发布一个用PHP fsockopen写的HTTP下载的类

    这个文章描述的是一个使用PHP的fsockopen函数编写的HTTP下载类,名为DedeHttpDown。fsockopen是PHP中的一个函数,用于打开一个到网络服务器的套接字连接,这使得开发者可以直接处理HTTP请求,而不仅仅是获取内容。在...

    php fsockopen伪造post与get方法的详解

    `fsockopen`函数是PHP提供的一种低级网络连接工具,它允许我们直接通过套接字与远程服务器通信。本文将详细讲解如何使用`fsockopen`来伪造POST和GET请求。 首先,让我们了解`fsockopen`的基本用法。该函数打开到...

    php fsockopen解决办法 php实现多线程

    在PHP中实现多线程可能并不像其他支持多线程的语言那样直接,但可以通过一些技巧来模拟并发处理,比如使用`fsockopen`或`stream_socket_client`进行异步连接。`fsockopen`是一个PHP内置函数,用于创建一个到远程主机...

    浅析虚拟主机服务器php fsockopen函数被禁用的解决办法

    1、修改php.ini,将 disable_functions = 后加入 fsockopen 2、修改php.ini,将 allow_url_fopen = On 改为 allow_url_fopen = Off 二、如何解决fsockopen函数被禁用1、如果服务器没有同时禁用pfsockopen,那么直接...

    基于php socket(fsockopen)的应用实例分析

    在PHP编程中,`fsockopen` 是一个用于创建网络连接的函数,它允许开发者直接通过Socket接口与服务器进行通信,比如HTTP、FTP等协议。本篇文章将深入探讨`fsockopen`函数及其在实际应用中的例子。 首先,为了使用`...

    php中fsockopen用法实例

    在PHP编程中,fsockopen是一个用于打开网络套接字连接的函数,允许用户与远程服务器进行基于TCP/IP的通信。这个函数非常有用,特别是在需要进行HTTP或其他协议通信时。本文将详细介绍fsockopen的基本用法,并通过...

    php fsockopen中多线程问题的解决办法[翻译]

    传统的PHP网络编程中,fsockopen函数通常用于创建一个TCP连接,并与远程服务器交互。然而,当面对需要同时向多台服务器发送请求的场景时,fsockopen由于其同步阻塞的性质,导致效率低下,无法满足高并发的需求。本文...

    fsockopen用法.txt

    在PHP中,`fsockopen`是一个非常强大的函数,用于创建一个网络连接(套接字)到指定的主机和端口。这个函数在处理网络通信时特别有用,尤其是在进行HTTP请求、FTP操作或任何需要与远程服务器交互的应用场景中。 ###...

    php_fsockopen:fsockopen是套接字包功能,除了基本的常用TCP外

    $ composer require yakeing/php_fsockopen 初始化参数 样本: $ fs = new fsockopen(); $ ret = $ fs -> init ( 10 , //Running time / sec (optional) tcp, //transport protocol (opti

    php异步:在php中使用fsockopen curl实现类似异步处理的功能方法

    本篇文章将介绍如何利用fsockopen和cURL在PHP中实现类似异步处理的功能。 首先,我们需要理解什么是fsockopen。fsockopen是PHP中的一个函数,用于打开到网络服务器的流。它可以用来建立TCP/IP套接字连接,这对于...

    利用 fsockopen() 函数开放端口扫描器的实例

    在本文中,我们将探讨如何利用PHP中的`fsockopen()`函数构建一个简单的端口扫描器。这个工具的主要目的是检查特定IP地址上的一组预定义端口是否开放。 ### 1. `fsockopen()`函数详解 `fsockopen()`是PHP提供的一个...

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

    本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$post =1; $url = parse_url($url); $host =’//www.jb51.net’; $path ...

Global site tag (gtag.js) - Google Analytics