php教程

curl get post请求封装函数示例

我的站长站 2023-08-09 人阅读

get请求函数封装

function getUrl($url, $header = []) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HTTPGET, true); 
    if ($header) { 
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
    } 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。- 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header 
    $output = curl_exec($ch); 
    if (!$output) { 
//        echo "request $url fail:", (array)curl_error($ch); //记录日志 
    } 
    curl_close($ch); 
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //记录日志 
    return $output; 
}

del请求函数封装

function delUrl($url, $header = []) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。- 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $output = curl_exec($ch); 
    if (!$output) { 
//        echo "request $url fail:", (array)curl_error($ch); //记录日志 
    } 
    curl_close($ch); 
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //记录日志 
    return $output; 
}

put请求函数封装

function putUrl($url, $data = [], $header = []) { 
    $ch = curl_init(); 
    if (!emptyempty($data)) { 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //定义提交的数据 
    } 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。- 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $output = curl_exec($ch); 
    if (!$output) { 
//        echo "request $url fail:", (array)curl_error($ch); //记录日志 
    } 
    curl_close($ch); 
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //记录日志 
    return $output; 
}

post请求函数封装

function postUrl($url, $data, $header = []) 
{ 
    $ch = curl_init(); 
    if (!emptyempty($data)) { 
        curl_setopt($ch, CURLOPT_POST,true); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    } 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。- 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $output = curl_exec($ch); 
    if (!$output) { 
//        echo "request $url fail:", (array)curl_error($ch); //记录日志 
    } 
    curl_close($ch); 
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //记录日志 
    return $output; 
}

post JSON请求函数封装

function postJsonUrl($url, $data, $header = []) 
{ 
    $data = json_encode($data); 
    $ch = curl_init(); 
    if (!emptyempty($data)) { 
        curl_setopt($ch, CURLOPT_POST,true); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    } 
    $header[]='Content-Type: application/json; charset=utf-8'; 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。- 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $output = curl_exec($ch); 
    if (!$output) { 
//        echo "request $url fail:", (array)curl_error($ch); //记录日志 
    } 
    curl_close($ch); 
//    echo "request $url success:" . json_encode(array($url, $header, $output), true); //记录日志 
    return $output; 
}


相关推荐
  • PHP函数
  • PHP数组转换为JSON格式数据

    PHP数组转换为JSON格式数据,这里介绍下PHP json_encode函数,他可以轻松完成转换。json_encode函数PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。json_encode语法string json_encode ( $value [, $opt...

    php教程 88 3年前
  • 利用get_headers函数判断链接是否有效或失效

    PHP判断链接是否有效或失效的方法代码,get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。函数定义array get_he...

    php教程 104 3年前
  • 利用explode() 函数分隔字符

    explode()函数本函数为 implode() 的反函数,使用一个字符串分割另一个字符串,返回一个数组。语法:codearray explode( string separator, string string [, int limit] )参数说明:separator 分割标志 string 需要分割的字符串 limit 可选...

    php教程 69 3年前
最新更新