zoukankan      html  css  js  c++  java
  • PHP发送POST请求的三种方式

    PHP发送POST请求的三种方式
     
    class Request{
     
        public static function post($url, $post_data = '', $timeout = 5){
     
            $ch = curl_init();
     
            curl_setopt ($ch, CURLOPT_URL, $url);
     
            curl_setopt ($ch, CURLOPT_POST, 1);
     
            if($post_data != ''){
     
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
     
            }
     
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
     
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
     
            curl_setopt($ch, CURLOPT_HEADER, false);
     
            $file_contents = curl_exec($ch);
     
            curl_close($ch);
     
            return $file_contents;
     
        }
     
     
        public static function post2($url, $data){
     
            
     
            $postdata = http_build_query(
     
                $data
     
            );
     
            
     
            $opts = array('http' =>
     
                          array(
     
                              'method'  => 'POST',
     
                              'header'  => 'Content-type: application/x-www-form-urlencoded',
     
                              'content' => $postdata
     
                          )
     
            );
     
            
     
            $context = stream_context_create($opts);
     
     
            $result = file_get_contents($url, false, $context);
     
            return $result;
     
     
        }
     
     
        public static function post3($host,$path,$query,$others=''){
     
     
            $post="POST $path HTTP/1.1
    Host: $host
    ";
     
            $post.="Content-type: application/x-www-form-";
     
            $post.="urlencoded
    ${others}";
     
            $post.="User-Agent: Mozilla 4.0
    Content-length: ";
     
            $post.=strlen($query)."
    Connection: close
    
    $query";
     
            $h=fsockopen($host,80);
     
            fwrite($h,$post);
     
            for($a=0,$r='';!$a;){
     
                    $b=fread($h,8192);
     
                    $r.=$b;
     
                    $a=(($b=='')?1:0);
     
                }
     
            fclose($h);
     
            return $r;
     
        }
    }
  • 相关阅读:
    数据分析(3)-matplotlib基础
    zabbix部署-版本3.2.6
    mysql5.6.35源码安装记录
    mysql数据库主从操作记录
    zabbix+docker
    爬与反爬
    爬虫基础 之(一) --- 初识爬虫
    android p 解锁 忽然亮屏后 恢复亮度
    ddr
    ipi
  • 原文地址:https://www.cnblogs.com/xwyphp/p/9919517.html
Copyright © 2011-2022 走看看