首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP——封装Curl请求方法支持POST | DELETE | GET | PUT 等

PHP——封装Curl请求方法支持POST | DELETE | GET | PUT 等

作者头像
思索
发布2024-08-16 11:20:06
发布2024-08-16 11:20:06
9350
举报

前言

Curl: https://www.php.net/manual/en/book.curl.php

curl_setopt: https://www.php.net/manual/en/function.curl-setopt.php

代码

注释应该很详细了吧,不懂的可以评论或者看上面手册。

设置桥接抓包需要配合抓包工具使用。

代码语言:javascript
复制
/**
 * 多种请求方法封装
 * 
 * @param string   $url      请求地址
 * @param string   $method   请求方式
 * @param array    $header   请求头
 * @param array    $data     请求体
 * 
 * @return mixd 
 */
function Curl_request($url, $method = 'POST', $header = ["Content-type:application/json;charset=utf-8", "Accept:application/json"], $data = [])
{
    
    $method = strtoupper($method);
    //初始化
    $ch = curl_init();
    //设置桥接(抓包)
    //curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
    //设置请求地址
    curl_setopt($ch, CURLOPT_URL, $url);
    // 检查ssl证书
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // 从检查本地证书检查是否ssl加密
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $url);
    //设置请求方法
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    //设置请求头
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    //设置请求数据
    if (!empty($data)) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    //设置curl_exec()的返回值以字符串返回
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec($ch);
    curl_close($ch); 
    return $res;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档