当前位置:首页 > PHP教程 > php应用 > 列表

PHP实现模仿socket请求返回页面的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-23 11:06:34 浏览: 评论:0 

这篇文章主要介绍了PHP实现模仿socket请求返回页面的方法,是socket通信非常实用的技巧,需要的朋友可以参考下。

本文实例讲述了PHP实现模仿socket请求返回页面的方法。分享给大家供大家参考。具体实现方法如下:

  1. <?php 
  2.  $url = "www.XXXX.com";  //自己做替换 
  3.  $parse = parse_url($url);  //对URL进行解析,返回起组成部分。 
  4.  $host = $parse['host']; 
  5.  $path = $parse['path']; 
  6.  $port = 80; 
  7.  $timeout = 80; 
  8.  $fp = @fsockopen($host$port$errno$errstr$timeout);  //打开socket链接 
  9.  if (!$fp){ 
  10.      echo $errno."--".$errstr;  //如果错误,则返回错误代码和错误信息 
  11.  } else { 
  12.      $out = "POST $path HTTP/1.1\r\n";  //以下是HTTP请求头信息 
  13.      $out .= "Host: ".$host."\r\n"
  14.      $out .= "Accept: */*\r\n"
  15.      $out .= "Connection: Close\r\n"
  16.      $out .= "Cookie: $cookie\r\n\r\n"
  17.     
  18.      @fwrite($fp$out);  //把请求信息写到链接中 
  19.      $status = stream_get_meta_data($fp); 
  20.      if(!$status['timed_out']) {     
  21.                  while (!feof($fp)) {  
  22.                      if(($header = @fgets($fp)) && ($header == "\r\n" ||  $header == "\n")) {     
  23.                          break;     
  24.                      }     
  25.                  }     
  26.          
  27.                  $stop = false;     
  28.                  while(!feof($fp) && !$stop) {     
  29.                      $data = fread($fp,8192);      //8192为可返回字节数 
  30.                      $return .= $data;         
  31.                  }    //www.phpfensi.com 
  32.              }     
  33.      fclose($fp); 
  34.      print_r($return); 
  35.  } 

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

Tags: PHP请求返回 socket

分享到: