curl.func.php,基于PHP的curl.func.php示例代码-六派数据

/**

* 转发请求到目的主机

* @param $method string 请求方法

* @param $URL string 请求地址

* @param null $headers 请求头

* @param null $param 请求参数

* @return array|bool

*/

function api_curl(&$method, &$URL, &$headers = NULL, &$param = NULL)

{

$require = curl_init($URL);

$isHttps = substr($URL, 0, 8) == "https://" ? TRUE : FALSE;

switch ($method) {

case "GET":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "GET");

break;

case "POST":

curl_setopt($require, CURLOPT_CUSTOMREQUEST, "POST");

break;

default:

return FALSE;

}

if ($param) {

curl_setopt($require, CURLOPT_POSTFIELDS, $param);

}

if ($isHttps) {

curl_setopt($require, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($require, CURLOPT_SSL_VERIFYHOST, 2);

}

if ($headers) {

curl_setopt($require, CURLOPT_HTTPHEADER, $headers);

}

curl_setopt($require, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($require, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($require, CURLOPT_HEADER, TRUE);

$response = curl_exec($require);

$headerSize = curl_getinfo($require, CURLINFO_HEADER_SIZE);

curl_close($require);

if ($response) {

$header = substr($response, 0, $headerSize);

$body = substr($response, $headerSize);

$bodyTemp = json_encode(array(

0 => $body

));

$bodyTemp = str_replace("", "", $bodyTemp);

$bodyTemp = json_decode($bodyTemp, TRUE);

$body = trim($bodyTemp[0]);

$respondHeaders = array();

$header_rows = array_filter(explode(PHP_EOL, $header), "trim");

foreach ($header_rows as $row) {

$keylen = strpos($row, ":");

if ($keylen) {

$respondHeaders[] = array(

"key" => substr($row, 0, $keylen),

"value" => trim(substr($row, $keylen + 1))

);

}

}

return array(

"headers" => $respondHeaders,

"body" => $body

);

} else {

return FALSE;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值