PHP之curl put方式提交与接受数据

提交的客户端实现代码

<?php
 
function curlrequest($url,$data,$method='post'){
    $ch = curl_init(); //初始化CURL句柄 
    curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
     
    curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-HTTP-Method-Override: $method"));//设置HTTP头信息
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
    $document = curl_exec($ch);//执行预定义的CURL 
    if(!curl_errno($ch)){ 
      $info = curl_getinfo($ch); 
      echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; 
    } else { 
      echo 'Curl error: ' . curl_error($ch); 
    }
    curl_close($ch);
     
    return $document;
}
 
$url = 'http://localhost/test/curl.php';
$data = "request from put method";
$return = curlrequest($url, $data, 'put');
 
var_dump($return);exit;
?>

接收的服务器代码

<?php
$arguments = file_get_contents('php://input');
print_r($arguments);


回答: 对于使用curl进行PUT请求,可以使用以下代码示例: ```php function curl2($url,$data = '', $https = true) { $ch = curl_init(); $header=array( "Content-Type: application/json;charset=utf-8", ); curl_setopt($ch, CURLOPT_URL, $url); //定义请求地址 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//定义是否直接输出返回流 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); //定义请求类型,必须为大写 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定义header curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); //定义提交数据 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。 $res = curl_exec($ch); curl_close($ch);//关闭 return $res; // 返回数据 } ``` 这段代码定义了一个名为curl2的函数,用于发送PUT请求。你可以将请求的URL和数据作为参数传递给该函数。在函数内部,使用curl_setopt函数设置了请求的URL、请求类型、请求头、提交数据等参数。最后,使用curl_exec函数执行请求并返回结果。 #### 引用[.reference_title] - *1* *3* [如何用curl做PUT请求?](https://blog.csdn.net/CHCH998/article/details/106489345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [curl put请求](https://blog.csdn.net/RemixGdc/article/details/79258129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值