php curl发送delte,php Curl如何发起POST DELETE GET POST请求

关于POST,DELETE,GET,POST请求

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

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

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

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

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

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

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

{

$url = u r l . ? . h t t p b u i l d q u e r y ( url.?.http_build_query( url.?.httpbuildquery(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);

i n f o = c u r l e x e c ( info = curl_exec( info=curlexec(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);

i n f o = c u r l e x e c ( info = curl_exec( info=curlexec(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);

i n f o = c u r l e x e c ( info = curl_exec( info=curlexec(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 = u r l . ? . h t t p b u i l d q u e r y ( url.?.http_build_query( url.?.httpbuildquery(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);

i n f o = c u r l e x e c ( info = curl_exec( info=curlexec(ch); //接收返回信息

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

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

curl_close($ch);

return $info;

}

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

if($data_type==json)

{

d a t a = j s o n e n c o d e ( data=json_encode( data=jsonencode(data);

h e a d e r = a r r a y ( C o n t e n t − T y p e : a p p l i c a t i o n / j s o n , C o n t e n t − L e n g t h : . s t r l e n ( header=array(Content-Type: application/json,Content-Length:.strlen( header=array(ContentType:application/json,ContentLength:.strlen(data),token:.$token);

}else

{

h e a d e r = a r r a y ( t o k e n : . header=array(token:. header=array(token:.token);

}

相关推荐

  1. DELETE 请求如何通过ajax进行发送

    2023-12-08 13:34:02       39 阅读
  2. 如何在Go中发起HTTP请求

    2023-12-08 13:34:02       51 阅读
  3. RestTemplate发送https请求

    2023-12-08 13:34:02       36 阅读
  4. C++发起Https请求

    2023-12-08 13:34:02       30 阅读
  5. electron发送post请求

    2023-12-08 13:34:02       18 阅读
  6. Linux发送HTTP请求

    2023-12-08 13:34:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 13:34:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 13:34:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 13:34:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 13:34:02       18 阅读

热门阅读

  1. 一、C#笔记

    2023-12-08 13:34:02       32 阅读
  2. QT学习随记 (二)—— QT基础

    2023-12-08 13:34:02       36 阅读
  3. 一起学习云计算

    2023-12-08 13:34:02       34 阅读
  4. 我的创作纪念日

    2023-12-08 13:34:02       48 阅读
  5. Ubuntu环境下使用nginx实现强制下载静态资源

    2023-12-08 13:34:02       35 阅读
  6. Ubuntu开机出现Welcome to emergency mode解决办法

    2023-12-08 13:34:02       57 阅读
  7. Appium:iOS部署

    2023-12-08 13:34:02       34 阅读
  8. 源代码编译cuda opencv

    2023-12-08 13:34:02       37 阅读
  9. opencv学习一:namedWindow()创建和显示窗口

    2023-12-08 13:34:02       35 阅读
  10. vscode console.log快捷键

    2023-12-08 13:34:02       37 阅读
  11. Spring Boot 框架能够解决什么问题?

    2023-12-08 13:34:02       31 阅读