使用curl发起get、put请求

PHP实现使用curl实现put请求(附完整源码) 阅读详情

在PHP中使用curl命令对接口发送请求,获取信息。

在发送发送请求时势必需要带一些信息。

如在header中带Authorization认证信息,

在row中带json格式等格式的信息。

如下示例中,put和get的请求演示了如何写header和json

1.put请求

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

/**

     * 

     * @method put

     * @access protected

     */

    public function get() {

        $url = 'https://XXXXXX';

        $arr=array('subject'=>'123');

        $data_string = json_encode(array('ticket'=> $arr));

        $ch = curl_init(); //初始化CURL句柄

        curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL

        curl_setopt($ch, CURLOPT_HTTPHEADER, array(

            'Content-Type: application/json; charset=utf-8',

            "Authorization: BasxKa2NzMjAyMjExOnFsY3Noal8yNTg5")

            );  //设置请求头

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出

        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); //设置请求方式

        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);//设置提交的字符串

   

        $output = curl_exec($ch);

        $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        curl_close($ch);

        throw new HttpResponseException(json(['code'=>$return_code, 'result'=>$output,'arr'=>$data_string]));

    }

对应python的代码为

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

def demo_put():

    url = 'XXXX'

    json = {

        "ticket": {

            "subject": "测试0011"

        }

    }

    headers = {

        "Authorization": "BasKa2NzMjAyMjExOnFsY3Noal8yNTg5",

        "Content-Type": "application/json"

    }

    res = requests.put(url=url, json=json, headers=headers)

    print(res.status_code)

    print(res.json())

2.get请求

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public function getinfo() {

        $url = 'XXXXX';

        $ch = curl_init($url);

         

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_HTTPHEADER, array(

            'Content-Type: application/json; charset=utf-8',

            "Authorization: BasxKa2NzMjAyMjExOnFsY3Noal8yNTg5"));

        // 执行 并把执行后的数据赋值给 $data

        $data = curl_exec($ch);

        $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        // 关闭

        curl_close($ch);

        // dump(json_decode($data));

        throw new HttpResponseException(json(['code'=>$return_code, 'result'=>json_decode($data)]));

    }

对应python的代码为

def demo_get():

    url = 'XXXX'

    headers = {

        "Authorization": "BasiKa2NzMjAyMjExOnFsY3Noal8yNTg5",

        "Content-Type": "application/json"

    }

    res = requests.get(url=url, headers=headers)

    print(res.status_code)

    pprint.pprint(res.json())

上述两种示例中通过CURLOPT_HTTPHEADER,定义头信息。

通过CURLOPT_POSTFIELDS方式定义json信息。

eNSP网络构建—建立小型局域网 企业私有网络构建运维 实战案例——使用模拟器构建局域网络 案例分析 1.架构分析 (1)需求分析 本实验的目的在于建立小型局域网。由于公司由不同部门组成,并分布在不同地点,因此需要划分不同网络实现互联互通。设计以下网络:两个部门各使用一台交换机连接,然后连接到总交换机,再通过路由器与外网以及其他部门网络相连。为了控制网络上的广播风暴,增加网络的安全性,在交换机上需要设置VLAN,在路由器与交换机之... 阅读详情

相关推荐

SMILES:化学结构的线性表示方法

SMILES:化学结构的线性表示方法

jasminefeng的博客 1万+

curl 构造 PUT/POST类型的http请求

作为极客,我们还是尽量使用命令行工具curl 构造 PUT/POST请求。点点网页来构造 http请求,这方式太low了。接下来构造四种 http请求方式。

qq_20679687的博客 3227

发那科机器人Modbus通讯配置全攻略:从IP设置到信号调试

本文详细介绍了发那科机器人Modbus通讯的配置方法,从基础认知到IP设置、端口配置、信号调试及故障排查。重点讲解了UOP和DI/DO信号的配置技巧,帮助工程师快速实现机器人与PLC的稳定通讯,提升自动化系统效率。

weixin_27872611的博客 624

如何用curl做PUT请求?

如何使用curl测试RESTful PUT(或DELETE)方法?

CHCH998的博客 1万+

snipersim安装

snipersim安装记录,便于后续使用tip:snipersim需要在python2的环境下编译。

weixin_53507617的博客 918

【系列05】端侧AI:构建与部署高效的本地化AI模型 第4章:模型量化(Quantization)

量化的基本思想是减少模型中用于表示参数和激活值的比特数。在模型训练时,参数通常使用32位浮点数(FP32)进行存储,这提供了高精度,但也消耗大量的内存和计算资源。量化则将这些32位浮点数转换成低比特数表示,通常是8位整数(INT8)。量化的原理可以概括为:对浮点数范围进行校准,并将其映射到更小的整数范围内。例如,将一个FP32的权重(如-1.5到1.5)映射到INT8的范围(-128到127)。在推理过程中,模型将使用这些低精度的整数进行计算,从而大大减少了所需的计算量。量化带来的主要收益减少模型大小。

学习,输出==》再学习再输出 1218

cURL – PUT请求示例

使用cURL -X PUT发送PUT(更新)请求以更新用户名和电子邮件的示例。 终奌站 $ curl -X PUT -d 'name=mkyong&email=abc@gmail.com' http://localhost:8080/user/100 如果REST API仅接受json格式的数据,请尝试以下操作 终奌站 $ curl -X PUT -H "Conten...

一名可爱的技术搬运工 1万+

第十二章 供水管网水力模型软件介绍

本文介绍了国内外主要供水管网建模软件及其特点,重点分析了某高建模软件V14的创新功能。国际主流软件包括开源的EPANET、商业软件InfoWorksWS、WaterGEMS和MIKEURBAN,各具特色但存在应用局限。某高V14软件实现了管网GIS与模型一体化管理,采用一G多网、一网多模、一模多案、网模合一技术路线,支持全信息模型建立和动态数据更新。其创新点包括水量分配理念革新(精确/模糊匹配、三种用水模式)和首创Web服务功能。通过并发计算、GPU加速等技术优化性能,具有较高性价比。

weixin_45258875的博客 210

HTTP请求方法

HTTP请求方法根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。序号方法描述1GET请求指定的页面信息,并返回实体主体。2HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头3POST向...

Tomcat的Tom 1万+

【PostgreSQL教程】PostgreSQL 特别篇之 语言接口Java

本篇教程的Java程序中开始使用PostgreSQL之前,需要确保在计算机上设置了PostgreSQL JDBC和Java。您可以检查Java教程以在计算机上安装Java。现在让本篇教程检查如何设置PostgreSQL JDBC驱动程序。

No8g攻城狮的博客 1766

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

864

PHP使用curl实现put请求

因为接触少,所以我只知道curl只支持get或者post的请求形式,而且网上搜索一般也都是介绍这两种。今天在项目中遇到嘞要使用put形式请求的接口,困惑了好久。终于找到了解决方案,在这里分享下。 首先get请求写法: $ch = curl_init("http://www.medicool.cn") ;//请求地址 curl_setopt($ch, CURLOPT_RETURNTRANSFE

莫莫的家 2万+

锂电池的充电和放电曲线解读

锂电池充放电曲线是反映其性能的关键指标。充电曲线分为恒流和恒压两阶段:恒流阶段电压快速上升,恒压阶段电流逐渐降低;放电曲线则呈现平台期和快速衰减期特征。这些曲线受温度、充放电倍率及材料体系(如三元锂或磷酸铁锂)显著影响。通过分析曲线特征,可优化电池管理系统,实现精准的SOC估算、快充策略制定及故障诊断,从而在电池性能与安全性间取得平衡。不同应用场景(如新能源汽车或消费电子)对曲线形态有特定要求。

start_up_go的博客 5073

PHP 利用 curl 发送 post get del put patch 请求

PHP 利用 curl 发送 post get del put patch 请求 参考地址 PHP cURL 函数 概述 PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。 libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。...

读万卷书,行万里路 530

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

php thinkphp curl 模拟post,put,delete,get 请求

function curl($url,$method,$params,$auth){ //初始化CURL句柄 $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url);//设置请求的URL #curl_setopt($curl, CURLOPT_HEADER, false);// 不要http header 加快效率 curl_setopt($curl, CURLOPT_RE...

phper的个人博客 2097

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

curl put delete post get请求类型参数

curl如何发起DELETE/PUT请求 DELETE: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); PUT: curl_setopt($ch, CURLOPT_PUT, true); GET: curl_setopt($ch, CURLOPT_HTTPGET, true); POST: curl_se...

weixin_30383279的博客 580

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

curl 指令

curl 指令

两个蝴蝶飞 7394

php 发送delete请求,PHP发起get post put delete请求

class commonFunction{function callInterfaceCommon($URL,$type,$params,$headers){$ch = curl_init();$timeout = 5;curl_setopt ($ch, CURLOPT_URL, $URL); //发贴地址if($headers!=""){curl_setopt ($ch, CURLOPT_HTT...

weixin_32338107的博客 252

curl同时请求两次_curl命令Http操作

curl用于命令行或脚本来传输使用URL语法指定的数据。本文介绍使用curl进行Http请求的相关操作。1.Http操作 一些命令参数: 示例:GET请求:curl http://www.example.com 或 curl -X GET http://www.example.comPOST请求:curl -X http://www.example.com -d "somedata...

weixin_39942318的博客 3366

php如何发起POST DELETE GET POST 请求

get:是用来取得数据。其要传递过的信息是拼在url后面,因为其功能使然,有长度的限制 post:是用来上传数据。要上传的数据放在request的head里。没有长度限制。主要是用于增加操作 put:也是用来上传数据。但是一般是用在具体的资源上。主要用于修改操作 delete:用来删除某一具体的资源上 发起POST DELETE GET POST 请求通用类 &l...

weixin_30456039的博客 155

Yii2 使用Curl

composer安装curl 命令行切入到你的项目目录执行 composer require --prefer-dist linslin/yii2-curl "*" 等待安装即可 安装完之后curl的位置 项目根目录/vendor/linslin 有linslin就是安装成功了 Yii2 使用Curl 1 <?php 2 namespace server\api; 3 4 use yii; 5 use yii\helpers\Json; 6 use linslin...

Elvin的博客 1205

php实现http请求类

首先了解一下php的curl <?php // 初始化 cURL 会话 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); // 设置header curl_setopt($curl, CURLOPT_HEADER, 1); // 设置cURL 参数,要求...

shaonian1996 2077

[随笔] curl命令使用tips

-h 查看请求参数的含义 -v 显示请求的信息 -X 选项指定其它协议get: curl -v 192.168.33.1:8080/girls/age/18 post: curl -v 192.168.33.1:8080/girls -d 'age=14&amp;cupSize=C' curl -v -X POST 192.168.33.1:8080/girls -d '...

1.02^365的成长裂变 3万+

php CURL 发送http请求 GET POST DELETE

* CURL   http://www.php.net/manual/en/book.curl.php   http://jp2.php.net/manual/en/function.curl-setopt.php   RESTful + -------------------------------------+ | GET POST PUT DELETE    | +------...

fareast_mzh的博客 694

CURL模拟HTTP请求

/** * CURL模拟HTTP请求 * @param string $url * @param string $type * @param array $data * @return array|boolean */function curlData($url, $type = 'GET', $data = array()){ $ch = curl_init(); if(empty(...

weixin_30678349的博客 197

PHP curl使用

curl代码 <?php /** * Class CURL * @desc 使用curl模拟heep request get、post、put、delete请求 * @author wangxuemin */ class CURL { private static $headerArray = array( "Content-type:application/json;charset='utf-8'", // MIME类型、字符集 "Accept:ap

懒人程序员的博客 289
上一篇: 如何在thinkphp5.1中写接口及接口调用
五个饺子馆
博客等级 码龄10年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值