美文网首页
PHP 的 curl_post 和 curl_get

PHP 的 curl_post 和 curl_get

作者: 牍中玉的小木屋 | 来源:发表于2020-03-20 11:40 被阅读0次

/**

  • 提交GET请求,curl方法
  • @param string $url 请求url地址
  • @param mixed $data GET数据,数组或类似id=1&k1=v1
  • @param array $header 头信息
  • @param int $timeout 超时时间
  • @param int $port 端口号
  • @return array 请求结果,
  • 如果出错,返回结果为array('error'=>'','result'=>''),
  • 未出错,返回结果为array('result'=>''),
    */
    function _curl_get(url,data = array(), header = array(),timeout = 5, port = 80) {ch = curl_init();
    if (!empty(data)) {data = is_array(data) ? http_build_query(data) : data;url .= (strpos(url, '?') ? '&' : "?") .data;
    }
    curl_setopt(ch, CURLOPT_URL,url);
    // 是否将curl_exec()获取的信息返回,而不是直接输出
    curl_setopt(ch, CURLOPT_RETURNTRANSFER, true); curl_setopt(ch, CURLOPT_CONNECTTIMEOUT, timeout); curl_setopt(ch, CURLOPT_POST, 0);
    //避免https 的ssl验证
    curl_setopt(ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt(ch, CURLOPT_SSLVERSION, false);
    curl_setopt(ch, CURLOPT_SSL_VERIFYPEER, false); //curl_setopt(ch, CURLOPT_PORT, port); !empty (header) && curl_setopt(ch, CURLOPT_HTTPHEADER,header);
    result = array('status' => true);result['result'] = curl_exec(ch); if (0 != curl_errno(ch)) {
    result['error'] = "Error:\n" . curl_error(ch);
    }
    curl_close(ch); returnresult;
    }

/**

  • 提交POST请求,curl方法

  • @param string $url 请求url地址

  • @param mixed $data POST数据,数组或类似id=1&k1=v1

  • @param array $header 头信息

  • @param int $timeout 超时时间

  • @param int $port 端口号

  • @return string 请求结果,

  • 如果出错,返回结果为array('error'=>'','result'=>''),

  • 未出错,返回结果为array('result'=>''),
    */
    function _curl_post(url,data = array(), header = array(),timeout = 5, port = 80) {ch = curl_init();
    curl_setopt(ch, CURLOPT_URL,url);
    curl_setopt(ch, CURLOPT_RETURNTRANSFER, true); curl_setopt(ch, CURLOPT_CONNECTTIMEOUT, timeout); curl_setopt(ch, CURLOPT_TIMEOUT, timeout); //curl_setopt(ch, CURLOPT_PORT, port); !empty (header) && curl_setopt(ch, CURLOPT_HTTPHEADER,header);
    curl_setopt(ch, CURLOPT_POST, 1); curl_setopt(ch, CURLOPT_POSTFIELDS, http_build_query(data)); //http_build_query转化后,可传递多维数组 //避免https 的ssl验证 curl_setopt(ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt(ch, CURLOPT_SSLVERSION, false); curl_setopt(ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    result = array('status' => true);result['result'] = curl_exec(ch); if (0 != curl_errno(ch)) {
    result['error'] = "Error:\n" . curl_error(ch);
    }
    curl_close(ch); returnresult;
    }

相关文章

网友评论

      本文标题:PHP 的 curl_post 和 curl_get

      本文链接:https://www.haomeiwen.com/subject/ditjyhtx.html