关于POST,DELETE,GET,POST请求

get:是用来取得数据。其要传递过的信息是拼在url后面,因为其功能使然,有长度的限制

post:是用来上传数据。要上传的数据放在request的head里。没有长度限制。主要是用于增加操作

put:也是用来上传数据。但是一般是用在具体的资源上。主要用于修改操作

delete:用来删除某一具体的资源上。

以下为每种请求方式的写法,实例可用。

当然也可以将四种请求合并为一个通过的类调用,实际运用过程中,根据自己的实际需求调整

public function _curl_get($url, $data=array(), $header = array(), $timeout = 30)

{

$url =  $url.?.http_build_query($data);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_POST, 0);

$info = curl_exec($ch);

curl_close($ch);

return $info;

}

public function _curl_post($url, $data=array(), $header=array(), $timeout=30)

{

$ch = curl_init(); //初始化

curl_setopt($ch, CURLOPT_URL, $url); //设置链接

curl_setopt($ch, CURLOPT_POST, 1); //设置post方式

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  //设置传输数据

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设置返回信息

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

$info = curl_exec($ch); //接收返回信息

$errno = curl_errno( $ch ); //返回错误代码

$post_info  = curl_getinfo( $ch ); //提交详情

curl_close($ch);

return $info;

}

public function _curl_put($url, $data=array(), $header=array(), $timeout=30)

{

$ch = curl_init(); //初始化

curl_setopt($ch, CURLOPT_URL, $url); //设置链接

curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PUT"); //设置PUT方式

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  //设置传输数据

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设置返回信息

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

$info = curl_exec($ch); //接收返回信息

$errno = curl_errno( $ch ); //返回错误代码

$post_info  = curl_getinfo( $ch ); //提交详情

curl_close($ch);

return $info;

}

public function _curl_delete($url, $data=array(), $header=array(), $timeout=30)

{

$url =  $url.?.http_build_query($data);

$ch = curl_init(); //初始化

curl_setopt($ch, CURLOPT_URL, $url); //设置链接

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");  //设置DELETE方式

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  //设置传输数据

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设置返回信息

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

$info = curl_exec($ch); //接收返回信息

$errno = curl_errno( $ch ); //返回错误代码

$post_info  = curl_getinfo( $ch ); //提交详情

curl_close($ch);

return $info;

}

#调用时根据数据类型,可以自己定义header,也可增加其它参数,放入header数组

if($data_type==json)

{

$data=json_encode($data);

$header=array(Content-Type: application/json,Content-Length:.strlen($data),token:.$token);

}else

{

$header=array(token:.$token);

}

php curl发送delte,php Curl如何发起POST DELETE GET POST请求相关推荐

  1. PHP发起POST DELETE GET POST 请求

    原文链接:http://blog.csdn.net/lengxue789/article/details/8254667 关于POST,DELETE,GET,POST请求 get:是用来取得数据.其要 ...

  2. php curl 发送checkbox,使用curl 提交表单(多维数组+文件)数据到服务器的有关问题...

    使用curl 提交表单(多维数组+文件)数据到服务器的问题 我在本地搭了一个测试服务器,Apache+PHP,想使用curl自动提交表单数据到远程服务器. 远程服务器表单有两项数据需要提交: 1.in ...

  3. curl post https_Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序

    前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...

  4. php CURL 发送请求详解

    cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 ...

  5. curl 发送各种格式的请求

    HTTP 的 POST 请求通常是用于提交数据,可以通过这篇文章来了解各种提交方式:四种常见的 POST 提交数据方式.做 Web 后端开发时,不可避免地要自己给自己发请求来调试接口,这里要记录的内容 ...

  6. 技术分享 | 使用 cURL 发送请求

    cURL 是一个通过 URL 传输数据的,功能强大的命令行工具.cURL 可以与 Chrome Devtool 工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重 ...

  7. curl 发送 POST 请求的四种方式

    使用 curl 发送 POST 请求的四种方式: application/x-www-form-urlencoded 使用实例 $ curl localhost:3000/api/basic -X P ...

  8. PHP爬取post网页数据,php curl发送post请求爬取webService接口数据简单实例

    header('Content-Type: text/html;charset=utf-8'); /** * 使用curl发送post请求 * @param $url * @param string ...

  9. php 如何发送json数据格式,Php如何使用curl发送json格式数据实例

    Php 如何使用curl发送json格式数据实例 Php 如何使用curl发送json格式数据实例 这篇文章主要介绍了php使用curl发送json格式数据的实例,大家参考使用吧 代码如下: $url ...

最新文章

  1. python判断语句if...elif...else、if嵌套、三目运算符
  2. ubuntu14.04 部署atlas
  3. line-height的一点见识
  4. Linux 内核红黑树分析
  5. 所谓高情商就是会说话--总结
  6. JS实现的一个验证码,可以在前端验证后在提交action
  7. 新突破!CVPR2019接收论文:新的基于自编码变换的无监督表示学习方法—AET
  8. ssm框架搭建+easyui增删改查实现
  9. Go的nil切片与空切片一样吗?这么答,面试官让回去等信儿
  10. OpenCV学习笔记02:OpenCV基本图片处理
  11. python mypy类型检查_Python中类型检查的详细介绍
  12. python裁剪图片box并保存_python实现图像随机裁剪
  13. 常微分方程:初值问题与边值问题
  14. Linux下定时切割nginx日志并删除指定天数前的日志记录
  15. Ubuntu安装谷歌拼音输入法
  16. 支付宝沙箱版app登入失败账户不存在问题
  17. 17-统一网关Gateway
  18. 2020牛客寒假算法基础集训营1 G eli和字符串
  19. 变量的定义以及数据类型
  20. “npm”‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

热门文章

  1. VMware虚拟化上安装F5负载均衡系统(BIG-IP LTM)
  2. Java基础学习总结(38)——Lombok(消除冗长的 java 代码)的使用和原理及安装、入门使用
  3. python打开autocad软件_python 使用pyautocad操作AutoCAD
  4. python预测股票价格_python用线性回归预测股票价格
  5. pgsql函数定时更新表_Postgresql PL/PGSQL 程序语言系列 1 (存储过程过时了吗,与函数)...
  6. 云上赶年集、品年味,阿里云让云上中国年“春节不打烊”
  7. 如何利用phpize在生产环境中为php添加新的扩展php-bcmath
  8. js知识学习图谱,新手必看
  9. Android下基于线程池的网络访问基础框架
  10. 终端中出现While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod错误的修改方法...