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
  • 相关阅读:
    洛谷P2740 草地排水
    BZOJ 4326 运输计划
    BZOJ 1036 树的统计
    BZOJ 1003 物流运输
    BZOJ 1251 序列终结者
    HDU4864 Task(算竞进阶习题)
    洛谷P4281 紧急集合 / 聚会
    CH0802 占卜DIY
    node.js(二)各种模块
    node.js对象数据类型
  • 原文地址:https://www.cnblogs.com/top5/p/2427677.html
Copyright © 2011-2022 走看看