关于POST,DELETE,GET,POST请求

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

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

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

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

发起POST DELETE GET POST 请求通用类

<?php
class commonFunction{
    function callInterfaceCommon($URL,$type,$params,$headers){
        $ch = curl_init();
        $timeout = 5;
        curl_setopt ($ch, CURLOPT_URL, $URL); //发贴地址
        if($headers!=""){
            curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
        }else {
            curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type: text/json'));
        }
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        switch ($type){
            case "GET" : curl_setopt($ch, CURLOPT_HTTPGET, true);break;
            case "POST": curl_setopt($ch, CURLOPT_POST,true);
                         curl_setopt($ch, CURLOPT_POSTFIELDS,$params);break;
            case "PUT" : curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PUT");
                         curl_setopt($ch, CURLOPT_POSTFIELDS,$params);break;
            case "DELETE":curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
                          curl_setopt($ch, CURLOPT_POSTFIELDS,$params);break;
        }
        $file_contents = curl_exec($ch);//获得返回值
        return $file_contents;
        curl_close($ch);
    }
} 

调用:

$params="{user:\"admin\",pwd:\"admin\"}";
$headers=array('Content-type: text/json',"id: $ID","key:$Key");
$url=$GLOBALS["serviceUrl"]."/user";
$strResult= spClass("commonFunction")->callInterfaceCommon($url,"PUT",$params,$headers);

$headers:如果参数值需要header传,可以以数组格式传递

php如何发起POST DELETE GET POST 请求的更多相关文章

  1. PHP发起POST DELETE GET POST 请求

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

  2. springmvc的POST 请求转为 DELETE 或 put 请求配置HiddenHttpMethodFilter

    1.web.xml里配置 <!-- 配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE ...

  3. Delete 和 Put 请求失效, Spring 框架

    Delete 和 Put 请求失效, Spring 框架 原因:使用tomcat 启动Spring项目的时候,请求失效.因为tomcat 不支持 Delete 和 Put 在 Web.xml 中增加下 ...

  4. Spring MVC添加支持Http的delete、put请求!(HiddenHttpMethodFilter)

    浏览器form表单只支持GET与POST请求,而DELETE.PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET.POST.PUT ...

  5. python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求

    一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...

  6. 使用requests库发起gbk编码的get请求

    有一个爬虫,查询需要发起get请求,这个网站整个都是gbk编码 如果直接发起请求,是不可以的,因为请求参数q首先用utf8编码转化成bytes,然后将bytes进行URLEncode变为字符串. re ...

  7. SpringMVC DELETE,PUT请求报错 添加支持Http的DELETE、PUT请求

    SpringMVC删除与修改操作需要用DELETE,PUT请求方式提交. 但要知道浏览器form表单只支持GET与POST请求,而DELETE.PUT等method并不支持. spring3.0添加了 ...

  8. get、post、put、delete、head请求方式

    对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不一定要用PUT和DELETE. 一:Jersey框架,实现了restful风格,常用的注解@GET.@POST.@PUT.@DELET ...

  9. GET,POST,PUT,DELETE,OPTIONS等请求方式简单总结

    之前做的java web项目,基本上只使用get和post的请求方式,但是现在新项目额外增加了put,delete,查了点资料,做个简单的总结. 1.GET-安全且幂等 get请求是用来获取数据的,只 ...

随机推荐

  1. css-子div设置margin-top后,父div与子div一起下移

    根据海玉的博客 这个问题发生的原因是根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠. 再说 ...

  2. ecshop 重置后台密码 MD5+salt

    ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加 ...

  3. 【BZOJ-2055】80人环游世界 上下界费用流 (无源无汇最小费用最大流)

    2055: 80人环游世界 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 321  Solved: 201[Submit][Status][Discus ...

  4. bzoj1113: [Poi2008]海报PLA

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  5. Request 对象

    Request 对象用于检索从浏览器向服务器发送的请求中的信息. 1.使用Request对象的Browser属性,可以访问HttpBrowserCapabilities属性获得当前正在使用哪种类型的浏 ...

  6. CF 321B Kefa and Company(贪心)

    题目链接: 传送门 Kefa and Company time limit per test:2 second     memory limit per test:256 megabytes Desc ...

  7. 第二次作业——C++学习

    课程选择: 以往在自学的过程就比较留意一些自学的网站,所以这次"C++自学"感觉找课程还是比较轻松的. 因为之前网页等学习都是在慕课网(视频学习个人感觉有时挺费时间的,特别是有时以 ...

  8. Compiler Warning (level 3) C4800

    #pragma warning( disable : 4800 ) // forcing bool 'true' or 'false' ,忽略4800 警告#pragma warning( disab ...

  9. Visual Studio原生开发的20条调试技巧(下)

    我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...

  10. node项目换了环境node_modules各种报错

    依赖文件里,看的出来有些是 ELF 的文件,就是说有些文件是可执行程序,不是拿 js 写的,所以说这部分程序不能适合 Linux .从路径来看,这部分程序的源代码是js写的,但实际调用的是js编译之后 ...