zoukankan      html  css  js  c++  java
  • curl的封装类

    <?php

    class Curl {

    private $ch;
    private $url;

    public function __construct(){
      $this -> ch = curl_init();
    }

    /**
    * 设置一个请求链接
    * @param String $url 请求的地址
    */
    public function setUrl($url){
      $this -> url = $url;
    }

    /**
    * 设置请求属性
    * @param boolean $isHttps 是否采用https方式请求
    * @param string $requestType 请求方式
    */
    private function setopt($isHttps, $requestType, $data, $useCert = false){
      curl_setopt($this -> ch, CURLOPT_URL, $this -> url);
      curl_setopt($this -> ch, CURLOPT_HEADER, 0);
      curl_setopt($this -> ch, CURLOPT_RETURNTRANSFER, 1);
      if ($isHttps) {
        curl_setopt($this -> ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($this -> ch, CURLOPT_SSL_VERIFYHOST, 2);
      }

      if($useCert == true){
        //设置证书
        //使用证书:cert 与 key 分别属于两个.pem文件
        curl_setopt($this->ch,CURLOPT_SSLCERTTYPE,'PEM');
        curl_setopt($this->ch,CURLOPT_SSLCERT, SSLCERT_PATH);
        curl_setopt($this->ch,CURLOPT_SSLKEYTYPE,'PEM');
        curl_setopt($this->ch,CURLOPT_SSLKEY, SSLKEY_PATH);
      }

      if (!empty($data)) {
        curl_setopt($this->ch, CURLOPT_POSTFIELDS, $data);
      }

      if ($requestType == 'POST') {
        curl_setopt($this->ch, CURLOPT_POST, true);
      }
    }

    /**
    * 执行一个请求
    * @return resource 返回执行结果
    */
    public function execute($isHttps = false, $requestType = 'GET', $data = null, $useCert = false){
      $this->setopt($isHttps, $requestType, $data, $useCert);
      $content = curl_exec($this->ch);
      $this->close();
      if (!empty($content)) {
        return $content;
      } else {
        return curl_error($this->ch);
      }
    }

    /**
    * 关闭一个请求资源句柄
    */
    private function close(){
      curl_close($this -> ch);
    }
    }

  • 相关阅读:
    Oracle Sql优化之报表和数据仓库运算
    Oracle Sql优化之Rownum的使用
    Oracle Sql优化之范围处理
    c++11编译指令
    python 爬小说
    exvim快捷键
    几个崩溃问题
    网络穿透
    c# 拉取网页
    tars安装记
  • 原文地址:https://www.cnblogs.com/wzjdy/p/7256966.html
Copyright © 2011-2022 走看看