• 把fscokopen封装成一个简单的函数

    去掉头信息的方法
    服务器君一共花费 9.889 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的
    1. Chapter:

    PHP是支持socket编程的,就是以fsockopen的方式。 fscokopen返回一个到远程主机连接的句柄。你可以像使用fopen返回的句柄一样,对它进行写fwrite,读取fgets, fread等操作。

    前面我们已经讲了很多例子了,这里再重复一次吧,把 fscokopen 封装成一个简单的函数使用:

    function HttpSocket($ip, $host, $url)
    {
        $response   = '';
        $errstr = '';
        $errno = '';
        $fp = fsockopen ($ip, 80, $errno, $errstr, 90);
        if (!$fp)
        {
            echo "$errstr ($errno)<br />\n";
        }
    
        $out = "GET {$url} HTTP/1.1\r\n";
        $out .= "Host:{$host}\r\n";
        $out .= "Connection: close\r\n\r\n";
        fputs ($fp, $out);
    
        while($line = fread($fp, 14096))
        {
            $response .= $line;
        }
        fclose( $fp );
    
        //去掉Header头信息
        $pos = strpos($response, "\r\n\r\n");
        $response = substr($response, $pos + 4);
    
        return $response;
    }
    
    //调用方法:
    $server_info1 = HttpSocket("121.199.24.143", "www.nowamagic.net", "/php/sock.php");
    echo $server_info1;
    

    去掉Header头信息在函数中已经体现。如果不去掉头信息,输出为:

    HTTP/1.1 200 OK
    Date: Sun, 16 Feb 2014 15:12:57 GMT
    Server: Apache/2.2.3 (CentOS)
    X-Powered-By: PHP/5.3.3
    Vary: Accept-Encoding
    Content-Length: 21
    Connection: close
    Content-Type: text/html; charset=UTF-8
    
    Welcome to NowaMagic 
    

    去掉头信息则为:

    Welcome to NowaMagic 
    
更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [PHP程序设计] PHP数组的遍历 7 个条目
  2. [Python程序设计] Python Web部署的背景知识 9 个条目
  3. [JavaScript程序设计] 关于HTTP Keep-Alive 6 个条目
  4. [Python程序设计] Tornado源码解析 23 个条目
  5. [移动开发] 从代码角度去认识 Handler 4 个条目
  6. [计算机算法] 从双端队列引出的卡特兰数 3 个条目
  7. [移动开发] Android Studio的使用技巧 4 个条目
  8. [软件工程与项目管理] 开始了解Git 5 个条目
  9. [Python程序设计] Django架构流程分析 7 个条目
  10. [PHP程序设计] fsockopen,curl与file_get_contents 12 个条目
  11. [软件工程与项目管理] 浏览器初步介绍 8 个条目
  12. [智力开发与知识管理] 学习编程为什么没会这么难? 7 个条目
窗口