首页 > 编程语言 >php实现统一的curl请求

php实现统一的curl请求

时间:2023-04-01 12:04:22浏览次数:30  
标签:case 请求 curl php data response CURLOPT setopt

php实现统一的curl请求

function curl_request($url, $method = 'GET', $data = array(), $headers = array()) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    // 设置请求方法
    switch ($method) {
        case 'POST':
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
            break;
        case 'PUT':
        case 'PATCH':
        case 'DELETE':
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
            break;
    }
    
    // 设置请求头
    if (!empty($headers)) {
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    }
    
    // 发送请求
    $response = curl_exec($curl);
    
    // 检查是否发生错误
    if ($response === false) {
        $response = curl_error($curl);
    }
    
    // 关闭 CURL
    curl_close($curl);
    
    // 返回响应数据
    return $response;

}


欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。



若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)

你要保守你心,胜过保守一切。

作者:刘俊涛的博客


标签:case,请求,curl,php,data,response,CURLOPT,setopt
From: https://blog.51cto.com/love/6163454

相关文章

  • PHP 实现 PHP在线代码运行工具
    转载来源https://www.cnblogs.com/XiaoMingBlingBling/p/14651830.html demo源码下载:点击下载  HTML代码(index.html):注:代码编撰区域使用开源项目ACE(Ajax.orgCloud9Editor)实现<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8......
  • php Trait基类use trait,本类不use
    一回顾trait使用https://blog.csdn.net/bushuwei/article/details/103514174发现之前本人说明很模糊,自己居然不知道为什么其实这里的$c,就是classB再次回顾逻辑二分析self和static区别说的没毛病Trait基类usetrait,本类不use。那么如果用的newself,则你new出来的就是......
  • PHPExcel读取和设置日期格式
    1.读取excle中的日期$val=$PHPExcel_sheet->getCellByColumnAndRow(ord('I')-65,3)->getValue();echodate("Y-m-d",PHPExcel_Shared_Date::ExcelToPHP($val));die;  2.设置导出excle表格中日期格式$resultPHPExcel->getActiveSheet()->setCellValu......
  • 来回切换axios取消上一次请求,版本0.22
     method的方法 getCateApi   asyncgetCateApi(){//用户快速切换的时候取消上一个请求,要不然太卡了constaxiosSource=this.axios.CancelToken.source();this.cancelRequest={cancel:axiosSource.cancel};......
  • PHP strtotime获取上个月月份的问题
    在PHP获取上个月时,我们常常使用strtotime('-1month');或者strtotime('lastmonth');来获取上个月的同一天的时间但是前28天内是没有问题的,当上个月或者下个月不存在同一天的时候,就会出现问题,如果今天是3月31日,使用该方法时取的将会是3月3日的时间,因为程序获取......
  • 什么是请求报文和响应报文?
    在了解请求报文和响应报文之前,咱们先了解下什么是HTTP协议?http协议:网络传输协议协议:规定网络数据传输格式---http协议组成:请求报文+响应报文浏览器发请求必须是:请求报文服务器响应必须是:响应报文那什么是请求报文呢?由三部分组成(1)请求行:包含请求方法,U......
  • php站点导入大mysql文件(linux系统)
    问题描述:站点数据多,mysql导出后大于1G,使用phpmyadmin,导入一半报错,白白浪费等待时间,使用navicat导入,执行时间过长提示错误解决思路:1.拆分mysql文件,分批次导入,亲测还是比较花费时间,小于100M可以尝试,大于100M不推荐2.推荐使用进入linux系统导入mysql,步骤如下:2.1:把导出的.sql大文......
  • RestSharp组件Get请求带body的时候返回数据丢失问题
    postman的复制代码默认就是RestSharp。方便也好用,但是使用get请求并且带Body的时候要注意,返回的数据竟然会有丢失解决办法:stringRequestByGet(stringindex,stringaction,objectparamter){varapi=$"{ElasticsearchUrl}/{index}/{action}";HttpWebRequestre......
  • 请求信息十六进制显示&请求信息AXCLL码显示
    请求信息十六进制显示 packageweb;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;publicclassMyHttpServer{privatestaticintcount=1;privatestati......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能编写Python注释文档字符串从0到1快速入门
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......