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

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

  

复制代码 代码如下:
<?php

  $url = "www.XXXX.com";  //自己做替换

  $parse = parse_url($url);  //对URL进行解析,返回起组成部分。

  $host = $parse['host'];

  $path = $parse['path'];

  $port = 80;

  $timeout = 80;

  $fp = @fsockopen($host, $port, $errno, $errstr, $timeout);  //打开socket链接

  if (!$fp){

  echo $errno."--".$errstr;  //如果错误,则返回错误代码和错误信息

  } else {

  $out = "POST $path HTTP/1.1\r\n";  //以下是HTTP请求头信息

  $out .= "Host: ".$host."\r\n";

  $out .= "Accept: */*\r\n";

  $out .= "Connection: Close\r\n";

  $out .= "Cookie: $cookie\r\n\r\n";

  @fwrite($fp, $out);  //把请求信息写到链接中

  $status = stream_get_meta_data($fp);

  if(!$status['timed_out']) {

  while (!feof($fp)) {

  if(($header = @fgets($fp)) && ($header == "\r\n" ||  $header == "\n")) {

  break;

  }

  }

  $stop = false;

  while(!feof($fp) && !$stop) {

  $data = fread($fp,8192);      //8192为可返回字节数

  $return .= $data;

  }

  }

  fclose($fp);

  print_r($return);

  }

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