zoukankan      html  css  js  c++  java
  • curl ,post,get (原创)

    curl get:

    1)直接输出

    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,"http://testopen.api.yaolan.com/api/user/reg");
    curl_exec($ch);
    curl_close($ch);

    2)curl_get函数

    function curl_get($url){                                  
            $ch=curl_init();                                  
            curl_setopt($ch,CURLOPT_URL,$url);                
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);     
            $content=curl_exec($ch);                          
            curl_close($ch);                                  
            return $content;                                  
    } 

    curl_post 函数:

    function curl_post($url,$data=array()){
            $ch=curl_init();
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
            curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
            curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    
            $content=curl_exec($ch);
            curl_close($ch);
            return $content;
    }
    $data=array('uname'=>'zdctest','email'=>'zdc@yaolan.com');
    //$data=array('uname'=>'zdctest','email'=>'zdc@yaolan.com','file_name' => '@/data/lnmp/autoreg/logs/log20150415.txt');//上传文件需要加@符号  php 5.6 之后要加 curl_setopt($ch, CURLOPT_SAFE_UPLOAD,false);才能上传成功
    $url="http://testopen.api.yaolan.com/api/user/reg"; echo curl_post($url,$data);

     携带header post

        public static function  curlPost($url,$data=array(),$header=array()){
                $ch=curl_init();
                curl_setopt($ch,CURLOPT_URL,$url);
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
                curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
                curl_setopt($ch,CURLOPT_POSTFIELDS,$data);    
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);            
                empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
                
                $content=curl_exec($ch);
                curl_close($ch);
                return $content;
        }

    -----------------------------------------新版

    curl:request

        public static function curlRequest($url,$method='post',$data=array(),$header=array()){
            $ch = curl_init(); //初始化CURL句柄 
            curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
            curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
            empty($data) or curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
            empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置提交header
            0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码    
            $content=curl_exec($ch);
            curl_close($ch);
            return $content;
        }

    curl post  get

    //post 函数
    function curl_post($url,$data=array(),array $header=array()){    
                $ch=curl_init();
                curl_setopt($ch,CURLOPT_URL,$url);
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
                curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
                curl_setopt($ch,CURLOPT_POSTFIELDS,$data);    
                0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码                                
                empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
                
                $content=curl_exec($ch);
                curl_close($ch);
                return $content;
    }
    
    //get函数携带 header
    function curl_get($url,array $header=array()){
        $ch=curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码                                
        empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        $content=curl_exec($ch);
        curl_close($ch);
        return $content;
    }

    curlRequest:(new)

     private function curlRequest($url,$method='post',$data=array(),$header=array()){
            $ch = curl_init(); //初始化CURL句柄
            curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
            curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出
            if('post'!=strtolower($method)){
                curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
            }else{
                curl_setopt($ch,CURLOPT_POST,true);
            }
    
            is_array($data) and $data=http_build_query($data);
            empty($data) or curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
    
            empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置提交header
            0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码
            $content=curl_exec($ch);
            curl_close($ch);
            return $content;
        }
    

      

  • 相关阅读:
    P2801 教主的魔法 (分块)
    BZOJ_1614_ [Usaco2007_Jan]_Telephone_Lines_架设电话线_(二分+最短路_Dijkstra/Spfa)
    BZOJ_1601_[Usaco2008_Oct]_灌水_(最小生成树_Kruskal)
    BZOJ_1612_[Usaco2008_Jan]_Cow_Contest_奶牛的比赛_(dfs)
    BZOJ_1833_[ZJOI2010]_数字计数_(数位dp)
    BZOJ_1026_[SCOI2009]_windy数_(数位dp)
    BZOJ_4326_[NOIP2015]_运输计划_(二分+LCA_树链剖分/Tarjan+差分)
    BZOJ_2194_快速傅立叶之二_(FFT+卷积)
    BZOJ_1615_[Usaco2008_Mar]_The Loathesome_Hay Baler_麻烦的干草打包机_(模拟+宽搜/深搜)
    BZOJ_1626_[Usaco2007_Dec]_Building_Roads_修建道路_(Kruskal)
  • 原文地址:https://www.cnblogs.com/zhudongchang/p/4429675.html
Copyright © 2011-2022 走看看