PHP中使用CURL实现GET、POST、PUT、DELETE请求
/**
* @param $url
* @param $data
* @param string $method
* @param string $type
* @param array $headers
* @return bool|string
*/ function curlpost($url,$data,$method = 'GET',$type='json',$headers=[])
{
try{
//初始化
$ch = curl_init();
$headers[] = "cache-control: no-cache";
$contentType = [
'form-data' => 'Content-Type: multipart/form-data',
'json' => 'Content-Type: application/json',
];
if($method == 'GET'){
if($data){
$querystring = http_build_query($data);
$url = $url.'?'.$querystring;
}
}
$headers[] = $contentType[$type]; // 请求头,可以传数组
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行后不直接打印出来
if($method == 'POST'){
if($type=='json'){
$data = json_encode($data);
}
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST'); // 请求方式
curl_setopt($ch, CURLOPT_POST, true); // post提交
curl_setopt($ch, CURLOPT_POSTFIELDS,$data); // post的变量
}
if($method == 'PUT'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
if($method == 'DELETE'){
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
} curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 最大执行时间
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); // 最大执行时间
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
$output = curl_exec($ch); //执行并获取HTML文档内容
$err = curl_error($ch);
if($err){
//\Illuminate\Support\Facades\Log::info('curl错误');
//\Illuminate\Support\Facades\Log::error($err);
}
curl_close($ch); //释放curl句柄
return $output;
}catch (\Exception $e){
\Illuminate\Support\Facades\Log::info('curl异常');
\Illuminate\Support\Facades\Log::error($e);
return false;
}
}
PHP中使用CURL实现GET、POST、PUT、DELETE请求的更多相关文章
- PHP中使用CURL请求页面,使用fiddler进行抓包
在PHP中使用CURL访问页面: <?php $ch = curl_init('http://www.baidu.com'); curl_setopt($ch, CURLOPT_RETURNTR ...
- PHP中使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- PHP中的CURL函数库
PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话curl_copy_handle — 拷贝一个curl连接资源的所有内 ...
- PHP中使用cURL
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性 ...
- 在PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑
在PHP中使用CURL,"撩"服务器只需几行--php curl详细解析和常见大坑 七夕啦,作为开发,妹子没得撩就"撩"下服务器吧,妹子有得撩的同学那就左拥妹子 ...
- PHP中使用CURL之php curl详细解析
在正式讲怎么用之前啊,先提一句,你得先在你的PHP环境中安装和启用curl模块,具体方式我就不讲了,不同系统不同安装方式,可以google查一下,或者查阅PHP官方的文档,还挺简单的. 1. 拿来先试 ...
- 在PHP中使用CURL,“撩”服务器只需几行
在PHP中使用CURL,“撩”服务器只需几行https://segmentfault.com/a/1190000006220620 七夕啦,作为开发,妹子没得撩就“撩”下服务器吧,妹子有得撩的同学那就 ...
- PHP中使用CURL实现GET和POST请求数据
PHP中使用CURL实现GET和POST请求 一.什么是CURL? cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 ...
- Error【0007】:zabbix中因为curl版本过低而无法发送邮件
1. 错误背景 在centos6.5上,源码部署zabbix最新版本zabbix-3.2.14.部署后之后,在配置邮件发送报警时出错 2. 错误提示 3. 原因分析 从网上检索的结果是说,系统中的cu ...
随机推荐
- Lua 学习之基础篇六<Lua IO 库>
引言 I/O 库提供了两套不同风格的文件处理接口. 第一种风格使用隐式的文件句柄: 它提供设置默认输入文件及默认输出文件的操作, 所有的输入输出操作都针对这些默认文件. 第二种风格使用显式的文件句柄. ...
- MySQL常见水平分表技术方案
根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉:水平分表能够很大程度较少这些压力. 1.按时间分表 这种分表方式有一定的局限性,当数据有较强的实效 ...
- python----获取文件的路径(各种方式)
#获取到当前文件的上个文件夹目录ABSPATH = os.path.abspath(os.path.realpath(os.path.dirname(__file__))) #获取的是相对路径FRON ...
- tableviewer自动调整列宽
public void resizeTableColumn(TableColumn[] treeColumns) { for (TableColumn tc : treeColumns) tc.pac ...
- 第六章 Flask数据库(二)
Flask-SQLALchemy Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展. 它需要 SQLAlchemy 0.6 或更高的版本.它致力于 ...
- js.map文件意义(转)
什么是source map文件 source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是ma ...
- Archiva 不小心删掉了管理员权限怎么办
Archiva 的界面和 UI 比较容易出问题. 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了. 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可 ...
- [DK] 化学竞赛的大奖
https://www.luogu.org/problemnew/show/T16502 无向图 缩点 树的直径 到直径两个端点的距离的较大值 #include <iostream> ...
- qt5.6.1 +vs2015 自定义控件 不在designer显示
qt designer 不显示自定义插件, qt5.6.1下在bin下点击designer.exe 打开qdesigner 点击帮助- 关于插件. 显示: 在vs2015 窗口中点击qt vs too ...
- 1558:聚会 ybt
1558:聚会 ybt 题解(看似很难,其实要是摸清了实质这就是个大水题) 上题目 1558:聚会 时间限制: 1000 ms 内存限制: 524288 KB提交数: 82 通 ...