欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

php教程

curl get post请求封装函数示例

php教程 我的站长站 2023-08-09 共19人阅读

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函数post
相关推荐
  • PHP函数
  • post
  • PHP数组转换为JSON格式数据

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

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

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

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

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

    php教程 75 3年前
  • PHP Array函数教程

    PHP Array函数,主要功能:创建索引数组。PHP Array语法索引数组的语法:array(value1,value2,value3,etc.);关联数组的语法array(key=>value,key=>value,key=>value,etc.);定义和用法array() 函数用于创建数组。在 PHP 中,有三种类型的数组:索引数组 - 带有...

    php教程 61 3年前
  • json_encode函数中文乱码解决方法

    在用到json_encode函数对数据进行json格式转换时,中文会乱码,这里需要用到JSON_UNESCAPED_UNICODE对中文不编码处理。实战案列<?php $arr = array(&#39;11px&#39; => &#39;我的站长站&#39;, &#39;taobao&#39; => &#39;淘宝网&#39;); echo json_enc...

    php教程 50 3年前
  • AJAX如何向PHP后端POST传递数据

    AJAX如何向PHP后端POST传递数据,只需要在AJAX调用中指定method参数为“POST”即可。例如:$.ajax({ url: &#39;someurl.php&#39;, type: &#39;POST&#39;, data: {name: &#39;John&#39;, location: &#39;Boston&#39;}, success: function(da...

    php教程 22 5个月前
  • 苹果CMS安装时提示always_populate_raw_post_data不支持

    苹果CMS安装时提示always_populate_raw_post_data不支持的解决方法主要原因是配置没开启,所以只需要开启PHP配置文件php-ini文件中的always_populate_raw_post_data配置就可以了。我们找到php-ini配置文件,搜索“always_populate_raw_post_data”默认...

    苹果cms教程 418 4年前
  • PHP发送POST请求示例代码

    发送post请求 * @param string $url 请求地址 * @param array $post_data post键值对数据 * @return stringfunction send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = array( &#39;http&#39; => array( ...

    php教程 23 10个月前
  • curl get post请求封装函数示例

    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, $hea...

    php教程 19 8个月前
  • 利用openssl函数加密数据来POST传递数据

    利用openssl函数来加密数据,然后使用POST方法将加密数据传递给服务器。// 加密数据$data = &#39;This is the data to be encrypted&#39;;$key = &#39;This is the secret key&#39;;$encrypted_data = openssl_encrypt($data, &#39;AES-128-ECB&#39;,...

    php教程 18 5个月前