分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

CURL 支持 GET、PUT、POST、DELETE请求

发布时间:2023-09-06 01:46责任编辑:彭小芳关键词:GETPOST

一个方法解决所有的 curl 请求的问题。

<?php

function curlTypeData( $method, $url, $data=false, $json=false )
{
  $dataString = $json ? json_encode( $data ) : http_build_query( $data );
  $ch = curl_init(); // 启动一个 CURL 请求
  curl_setopt( $ch, CURLOPT_URL, $url ); // 确定要请求的地址
  curl_setopt( $ch, CURLOPT_HEADER, 0); // 是否显示返回的 Header 区域内容
  curl_setopt( $ch, CURLINFO_HEADER_OUT, true ); // 获取请求头信息
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true); // 获取的信息以文件流的形式返回
  curl_setopt( $ch, CURLOPT_TIMEOUT, 5 ); // 请求过期时间
  // curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
  // curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查

???  // 判断要执行的 CURL 的请求方式
???  $method = strtoupper( $method );
???  switch ( $method ) {
???????    case ‘GET‘:
???????????      curl_setopt( $ch, CURLOPT_HTTPGET, true ); ?????????// 设置请求方式为 GET
???????????      break;
???????    case ‘POST‘:
???????????      curl_setopt( $ch, CURLOPT_POST, true ); ????????????// 设置请求方式为 POST
???????????      curl_setopt( $ch, CURLOPT_POSTFIELDS, $dataString );// 设置请求体,提交数据包
???????????      break;
???????    case ‘PUT‘:
???????????      curl_setopt( $ch, CURLOPT_PUT, true ); ?????????????// 设置请求方式为 PUT
???????????      // curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, ‘PUT‘ );// 设置请求方式为 PUT ?
???????????      curl_setopt( $ch, CURLOPT_POSTFIELDS, $dataString );//设置请求体,提交数据包
???????????      break;
???????    case ‘DELETE‘:
???????????      curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, ‘DELETE‘ );// 设置请求方式为 DELETE
???????????      break; ????
???????    default:
???????????      echo "不存在请求方式";
???????????      die();
???  }

???  // 判断是否要求 json
???  if ( $json ) {
???????    curl_setopt($ch, CURLOPT_HTTPHEADER, array( ?
???????????      ‘Content-Type: application/json; charset=utf-8‘, ?
???????????      ‘Content-Length: ‘ . strlen($dataString))
???????    );
???  }

???  // 执行操作
???  $output = curl_exec( $ch ); // 执行操作
???  // $code = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); ???????// 获取返回的状态码
???  curl_close($ch); // 关闭CURL会话
???  echo $output;
}

?>

CURL 支持 GET、PUT、POST、DELETE请求

原文地址:https://www.cnblogs.com/laowenBlog/p/8616118.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved