zoukankan      html  css  js  c++  java
  • 使用PHP实现 GET,POST 数据

    1. 使用 PHP 获得网页内容 GET方式
    <?php
    function socketGet($url, &$ret)
    {
     $urlArr = parse_url($url);
     $host = $urlArr['host'];
     $port = isset($urlArr['port'])?$urlArr['port']:80;
     $path = isset($urlArr['path'])?$urlArr['path']:"/";
     $fp = fsockopen($host, $port, $errno, $errstr, 30);
     if (!$fp)
     {
      echo "$errstr ($errno)<br />\n";
      return false;
     }
     else
     {
         $out = "GET $path HTTP/1.1\r\n";
         $out .= "Host: $host\r\n";
         $out .= "Connection: Close\r\n\r\n";
      $ret = "";
         fwrite($fp, $out);
         while (!feof($fp))
      {
             $ret .= fgets($fp, 128);
         }
         fclose($fp);
     }
     return true;
    }
    ?>
    2. 使用 PHP 向页面 POST 数据
    <?php
    function socketPost($url, $data, &$ret)
    {
     $urlArr = parse_url($url);
     $host = $urlArr['host'];
     $port = isset($urlArr['port'])?$urlArr['port']:80;
     $path = isset($urlArr['path'])?$urlArr['path']:"/";
     $fp = fsockopen($host, $port, $errno, $errstr, 30);
     if (!$fp)
     {
         echo "$errstr ($errno)<br />\n";
      return false;
     }
     else
     {
         $out = "POST $path HTTP/1.1\r\n";
         $out .= "Host: $host\r\n";
      $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
      $out .= "Content-Length: ".strlen($data)."\r\n";
         $out .= "Connection: Keep-Alive\r\n\r\n";
      $out .= $data;
      $ret = "";
         fwrite($fp, $out);
         while (!feof($fp))
      {
             $ret .= fgets($fp, 128);
         }
         fclose($fp);
     }
     return true;
    }
    ?>
    如果post报错,把$out .= "Connection: Keep-Alive\r\n\r\n";中的Keep-Alive改成Close
  • 相关阅读:
    浅析http缓存
    多级路由请求js文件路径不对的解决方法
    移动端屏幕适配原理以及方法讲解
    zoom与scale的异同
    querySelectorAll选择器的js实现
    垂直居中效果汇总
    windows配置php开发环境
    CentOS 6.2安装nagios
    Ganglia安装
    Ubuntu 14.04上安装Riak
  • 原文地址:https://www.cnblogs.com/top5/p/2427677.html
Copyright © 2011-2022 走看看