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;
     }
  • 相关阅读:
    Java基于Redis的分布式锁
    接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)
    初识HttpRunner
    WebService接口测试
    git使用:本地分支merge到远程分支
    git使用:本地项目推送到gitlab
    模拟网络状况工具——clumsy
    JAVA学习笔记 (okHttp3的用法)
    JAVA学习笔记 (一、入门及前期准备)
    Jenkins+Jmeter持续集成笔记(五:问题优化)
  • 原文地址:https://www.cnblogs.com/wenhainan/p/12164287.html
Copyright © 2011-2022 走看看