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;
     }
  • 相关阅读:
    GDB的启动方式
    【linux】基础1
    web安全实战折腾系列-对应B站视频
    白帽子讲web安全笔记-对应B站视频
    DNF搬砖号打造【只适合100级的版本】
    阿里云的开发者社区测试
    OWASP安全测试指南-OTGv4
    第8章 VLAN
    web安全简介与环境配置-反射型XSS-存储型XSS-XSS进阶-sql注入基础
    xss攻防
  • 原文地址:https://www.cnblogs.com/wenhainan/p/12164287.html
Copyright © 2011-2022 走看看