发送curl请求的函数
//发送curl请求的函数
function curl_request($url, $post = false, $data=array(), $https = false){
//使用curl_init初始化一个curl请求
$ch = curl_init($url);
//默认为get请求不需要设置请求方式和请求参数
//如果是post请求
if($post){
//设置请求方式
curl_setopt($ch, CURLOPT_POST, true);
//设置请求参数
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//默认发送http请求,如果是https,需要做特殊设置
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//验证证书 设置为false表示不验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//验证证书和主机是否匹配
}
//默认情况下,curl_exec返回true|false,如果要得到返回数据,需要设置CURLOPT_RETURNTRANSFER
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//发送请求
$res = curl_exec($ch);
if(!$res){
//请求失败,通过curl_error获取错误信息
$error = curl_error($ch);
//重新组装返回结果。如果返回的是数组代表请求失败
$res = array(
'error' => $error
);
}
//关闭curl请求
curl_close($ch);
//返回结果给调用方
return $res;
}
发送curl请求的函数的更多相关文章
- 一个常用的通过curl发送HTTP请求的函数
function: function curl_get($url, $params) { return curl_http($url, $params, 'GET'); } function curl ...
- 服务端CURL请求
服务端与服务端之间,也存在接口编程. 比如我们网站服务端,需要发送短信.发送邮件.查询快递等,都需要调用第三方平台的接口. 1.php中发送请求 ①file_get_contents函数 :传递完整的 ...
- [PHP学习教程 - 网络]004.模拟发送HTTP请求[GET/POST](HTTP Simulator)
引言:经常在开发期间,客户端与服务端的调试都是借助于真实的容器返回.尤其是在处理到POST时,通常刚刚入门的兄弟姐妹就一定要借助容器.今天,我们就来处理一下模拟HTTP. 本文列举了常见的四种请求方式 ...
- Ajax发送XML请求案例
Ajax发送XML请求需求: 根据输入的国家,输出这些国家下面的城市. 如果请求参数较多,而且请求参数的结构关系复杂,则可以考虑发送XML请求.XML请求的实质还是POST请求,只是在发送请求的客户端 ...
- Ajax发送简单请求案例
所谓简单请求,是指不包含任何参数的请求.这种请求通常用于自动刷新的应用,例如证券交易所的实时信息发送.这种请求通常用于公告性质的响应,公告性质的响应无需客户端的任何请求参数,而是由服务器根据业务数据自 ...
- PHP模拟发送POST请求之五curl基本使用和多线程优化
今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法. 说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不详,列出一大堆手册上的东西,搞得我入门时 ...
- 每天一个linux命令13之curl发送http请求
一.get请求 curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http:// ...
- curl 发送post请求
curl 发送post请求 curl -X POST "http://localhost:8080/usr3?id=1&name=3&departmentId=2" ...
- curl 发送json请求
curl 发送json请求 这个是在cmd环境下的输入:注意{\"userName\":\"helo\",\"id\":1}中间不能有空格 ...
随机推荐
- swagger菜单分级
效果 实现 SwaggerAutoConfiguration里新增配置: package com.fxkj.common.config; import com.google.common.base.P ...
- 被MySQL慢日志查询搞废了?3分钟教你快速定位慢查询问题!
一条慢查询会造成什么后果?刚开始使用MySQL的开发.初级DBA 以为就是简单的查询变慢些,体验稍微有一丢丢影响,殊不知,慢查询的破坏力远不止如此.业务高峰期,这头SQL还没处理完,大量新的查询请求堆 ...
- 8、二进制安装K8s之部署CIN网络
二进制安装K8s之部署CIN网络 部署CIN网络可以使用flannel或者calico,这里介绍使用calico ecd 方式部署. 1.下载calico二进制安装包 创建所需目录 mkdir -p ...
- Ratel:一直站在Android逆向巅峰的平头哥
本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆 ...
- Spring详解(四)------注解配置DI
第一步:在 applicationContext.xml 中引入命名空间 这里我们简单讲解一下这里引入的命名空间,简单来说就是用来约束xml文件格式的.第一个 xmlns:context ,这表示标签 ...
- git撤销已经push到远程仓库上的代码
具体方法,git命令:git reset --hard <commit_id>git push origin HEAD --force commit_id可以通过git命令:git log ...
- Android:绘制字符
根据FontMetrics的特点,将字符在矩形框中居中显示:
- 高德地图——步行路线&步行路线的坐标规划
步行操作与开车一样 唯一区别就是src末尾加入&plugin=AMap.Walkling 以及new AMap.Walking({}) <!DOCTYPE html> <ht ...
- linux shell 脚本输入参数解析
文件名: test.sh #!/bin/bash para="para: "; while [ $# -ge 2 ] ; do case "$1" in --a ...
- IT项目经理-成长手记学习笔记
无论多难,都要记住一点,只要别人不赶你走,你就厚着脸皮待下去,这样你才有可能熬到项目成功. 项目经理要管事,更要管人. 项目计划->职责分工->确定项目范围 遇事及时处理,当场处理,处理错 ...