zoukankan      html  css  js  c++  java
  • php CURL的get和post请求代码(觉得挺完美,mark下,日后复制)

    /**
      * Curl send get request, support HTTPS protocol
      * @param string $url The request url
      * @param string $refer The request refer
      * @param int $timeout The timeout seconds
      * @return mixed
      */
     function getRequest($url, $refer = "", $timeout = 10)
     {
         $ssl = stripos($url,'https://') === 0 ? true : false;
         $curlObj = curl_init();
         $options = [
             CURLOPT_URL => $url,
             CURLOPT_RETURNTRANSFER => 1,
             CURLOPT_FOLLOWLOCATION => 1,
             CURLOPT_AUTOREFERER => 1,
             CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)',
             CURLOPT_TIMEOUT => $timeout,
             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
             CURLOPT_HTTPHEADER => ['Expect:'],
             CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4,
         ];
         if ($refer) {
             $options[CURLOPT_REFERER] = $refer;
         }
         if ($ssl) {
             //support https
             $options[CURLOPT_SSL_VERIFYHOST] = false;
             $options[CURLOPT_SSL_VERIFYPEER] = false;
         }
         curl_setopt_array($curlObj, $options);
         $returnData = curl_exec($curlObj);
         if (curl_errno($curlObj)) {
             //error message
             $returnData = curl_error($curlObj);
         }
         curl_close($curlObj);
         return $returnData;
     }
    
     /**
      * Curl send post request, support HTTPS protocol
      * @param string $url The request url
      * @param array $data The post data
      * @param string $refer The request refer
      * @param int $timeout The timeout seconds
      * @param array $header The other request header
      * @return mixed
      */
     function postRequest($url, $data, $refer = "", $timeout = 10, $header = [])
     {
         $curlObj = curl_init();
         $ssl = stripos($url,'https://') === 0 ? true : false;
         $options = [
             CURLOPT_URL => $url,
             CURLOPT_RETURNTRANSFER => 1,
             CURLOPT_POST => 1,
             CURLOPT_POSTFIELDS => $data,
             CURLOPT_FOLLOWLOCATION => 1,
             CURLOPT_AUTOREFERER => 1,
             CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)',
             CURLOPT_TIMEOUT => $timeout,
             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
             CURLOPT_HTTPHEADER => ['Expect:'],
             CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4,
             CURLOPT_REFERER => $refer
         ];
         if (!empty($header)) {
             $options[CURLOPT_HTTPHEADER] = $header;
         }
         if ($refer) {
             $options[CURLOPT_REFERER] = $refer;
         }
         if ($ssl) {
             //support https
             $options[CURLOPT_SSL_VERIFYHOST] = false;
             $options[CURLOPT_SSL_VERIFYPEER] = false;
         }
         curl_setopt_array($curlObj, $options);
         $returnData = curl_exec($curlObj);
         if (curl_errno($curlObj)) {
             //error message
             $returnData = curl_error($curlObj);
         }
         curl_close($curlObj);
         return $returnData;
     }
  • 相关阅读:
    GitLab--简单使用
    Git
    GitLab--安装部署
    RabbitMQ--工作模式
    服务器上TIME_WAIT过多怎么处理
    LVS Nginx HAProxy区别
    部署 Kubernetes 集群(kubeadm方式)
    office选项-》高级-》显示 中, 显示此数目的“最近使用的文档” 为灰色,无法更改
    期末测验: 课程水平综合测验 (第10周)-程序题
    测验9: Python计算生态纵览 (第9周)-程序题
  • 原文地址:https://www.cnblogs.com/wenhainan/p/12164287.html
Copyright © 2011-2022 走看看