curl ,post,get (原创)
curl get:
1)直接输出
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,"http://testopen.api.yaolan.com/api/user/reg");
curl_exec($ch);
curl_close($ch);
2)curl_get函数
function curl_get($url){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$content=curl_exec($ch);
curl_close($ch);
return $content;
}
curl_post 函数:
function curl_post($url,$data=array()){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $content=curl_exec($ch);
curl_close($ch);
return $content;
}
$data=array('uname'=>'zdctest','email'=>'zdc@yaolan.com');
//$data=array('uname'=>'zdctest','email'=>'zdc@yaolan.com','file_name' => '@/data/lnmp/autoreg/logs/log20150415.txt');//上传文件需要加@符号 php 5.6 之后要加 curl_setopt($ch, CURLOPT_SAFE_UPLOAD,false);才能上传成功
$url="http://testopen.api.yaolan.com/api/user/reg"; echo curl_post($url,$data);
携带header post
public static function curlPost($url,$data=array(),$header=array()){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $content=curl_exec($ch);
curl_close($ch);
return $content;
}
-----------------------------------------新版
curl:request
public static function curlRequest($url,$method='post',$data=array(),$header=array()){
$ch = curl_init(); //初始化CURL句柄
curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
empty($data) or curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置提交header
0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码
$content=curl_exec($ch);
curl_close($ch);
return $content;
}
curl post get
//post 函数
function curl_post($url,$data=array(),array $header=array()){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);//如果有下面的一行代码,这个可以不设置
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码
empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $content=curl_exec($ch);
curl_close($ch);
return $content;
} //get函数携带 header
function curl_get($url,array $header=array()){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码
empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$content=curl_exec($ch);
curl_close($ch);
return $content;
}
curlRequest:(new)
private function curlRequest($url,$method='post',$data=array(),$header=array()){
$ch = curl_init(); //初始化CURL句柄
curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出
if('post'!=strtolower($method)){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
}else{
curl_setopt($ch,CURLOPT_POST,true);
} is_array($data) and $data=http_build_query($data);
empty($data) or curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串 empty($header) or curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置提交header
0===strpos($url,'https:') and curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https请求加这个代码
$content=curl_exec($ch);
curl_close($ch);
return $content;
}
curl ,post,get (原创)的更多相关文章
- (原创) cocos2dx使用Curl连接网络(客户端)
0. 环境: winxpsp3, vs2010, cocos2dx@2.1.4 1. 新建一个Helloworld工程 2. HelloworldScene.h里面重写virtual bool ccT ...
- 【原创】Linux基础之curl
http请求过程如下: # curl -v http://www.baidu.com % Total % Received % Xferd Average Speed Time Time Time C ...
- 原创docker dcos 的安装
原创哈,上个星期无意间发现了一个可以好东西 DC/OS https://dcos.io 这个是官网哈 然后就痛苦的折磨了一个多星期; 基本是参照到https://dcos.io/docs/1.7/ad ...
- curl常用选项详解
curl常用选项详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 又是下班的时间了,让我们一起来学习一下今天的Linux命令吧~我一半只把自己常用的参数列出来,其他的有但是我们几 ...
- 基于PHP的cURL快速入门
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如 ...
- Linux中Curl命令couldn't connect to host解决方案 php操作Curl(http,https)无法获取远程数据解决方案
本人在做百度账户第三方登录接口,获取百度token,利用php操作curl post方式发送请求token,出现couldn't connect to host错误.经过调试测试,最后终于成功.回头写 ...
- php通过curl实现bigpipe
BigPipe是facebook发明的一种页面加载技术.其实也不是什么新技术了,也有很多文章进行说明.但是在网上,具体讲如何使用php实现bigpipe的文章很少,并且有些文章还不很准确.bigpip ...
- 误mlogc.c:32:23: error: curl/curl.h: No such file or directory
出现以下错误: mlogc.c:32:23: error: curl/curl.h: No such file or directory mlogc.c:1091: error: expected ' ...
- zabbix 实现curl 显示器
1.进入Configure->Templates 2. 新建一个模板 3.新建模板,并保存 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFpND ...
随机推荐
- (转)vuex2.0 基本使用(3) --- getter
有的组件中获取到 store 中的state, 需要对进行加工才能使用,computed 属性中就需要写操作函数,如果有多个组件中都需要进行这个操作,那么在各个组件中都写相同的函数,那就非常麻烦,这 ...
- 玩转公众号markdown排版
Md2All 简介 Markdown排版利器,支持 "一键排版" 的样式模板选择,支持"css样式自定义",支持80多种代码高亮. 能让Markdown内容,无 ...
- Android studio 添加引用新建类库
1.新建一个工程包 2.修改AndroidManifest.xml 将AndroidManifest.xml 修改为 <manifest xmlns:android="http://s ...
- YOLO (You Only Look Once)
YOLO (You Only Look Once) dl cnn object detection 一.YOLO YOLO是一个实时的目标检测系统.最新的V2版本在Titan X 上可以每秒处理 ...
- 网页前端状态管理库Redux学习笔记(一)
最近在博客园上看到关于redux的博文,于是去了解了一下. 这个Js库的思路还是很好的,禁止随意修改状态,只能通过触发事件来修改.中文文档在这里. 前面都很顺利,但是看到异步章节,感觉关于异步说得很乱 ...
- nvcc fatal : Unsupported gpu architecture 'compute_11'
使用VS编译OpenCV编译源代码时候,对Cmake生成的工程文件编译,会出现 nvcc fatal : Unsupported gpu architecture 'compute_11' 问题.原 ...
- C# 共享页调用css
@RenderSection("Styles", required: false) @section Styles{ }
- .NET 解决方案 核心库整理
一系列令人敬畏的.NET核心库,工具,框架和软件: https://www.cnblogs.com/weifeng123/p/11039345.html 企业级解决方案收录: https://www ...
- 【转载自JHBlogs的博客】postman接口自动化,环境变量的用法详解(附postman常用的方法)
在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postma ...
- PAT_A1119 Pre- and Post-order Traversals
Source: PAT A1119 Pre- and Post-order Traversals (30 分) Description: Suppose that all the keys in a ...