php发送http put/patch/delete请求
今天学RESTful API的编写,发现不知道怎么发送HTTP PUT/PATCH/DELETE请求,还是要学习一个。
使用curl_opt
函数来发送各式各样的http请求动作,不仅限于get和post。
在测试自己的restful api的时候,通过访问这个代理发送http put/patch/delete请求的php页面,完成测试。
<?php
/*** http.php* 用来向服务器的RESTful API发起各类HTTP请求的工具函数。** 使用: http://mysite.com/http.php?action=xxx* xxx \in {get,post,put,patch,delete}** Created by PhpStorm.* User: chris* Date: 16/8/11* Time: 下午1:22*/class commonFunction{function callInterfaceCommon($URL,$type,$params,$headers){$ch = curl_init($URL);$timeout = 5;if($headers!=""){curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);}else {curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type: application/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 "PATCH": curl_setopt($ch, CULROPT_CUSTOMREQUEST, 'PATCH');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/html; charset=utf-8');
//$headers=array('accept: application/json; Content-Type:application/json-patch+json');
$headers=array('Content-Type:application/json-patch+json');
#$url=$GLOBALS["serviceUrl"]."/user";
$url='http://mysite.com/user/11';
$cf = new commonFunction();$action=strtoupper($_GET['action']);
echo "你指定的HTTP请求动作为".$action."<br/><hr/>";$strResult = $cf->callInterfaceCommon($url,$action,$params,$headers);
echo "执行该HTTP请求动作,得到<br/>".$strResult;
php发送http put/patch/delete请求相关推荐
- Golang gin框架:发送GET POST PUT DELETE请求
package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {r := gin. ...
- fastadmin使用fast\Http 发送post/get/patch等请求,参数为二维数组时候报错,怎么解决?
之前受邀回答了这么一个问题: 在后端发请求时,如果参数里面是数组,就会报错"Array to string conversion",大概意思就是数组转字符串的时候出错了. 先说解决 ...
- (转)【SpringMvc】如何使用form发送PUT和DELETE请求
转自: https://blog.csdn.net/cockroach02/article/details/82194126https://blog.csdn.net/cockroach02/ar ...
- springboot接收浏览器发送delete请求( method not allowed 405解决方法)
[README] 浏览器使用form提交信息的时候只支持GET和POST,如果需要在浏览器上使用PUT和DELETE请求方式的话,只能使用欺骗的方式了,SpringMvc提供了HiddenHttpMe ...
- 使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传
httpclient4.3.6 下进行的测试 package org.caeit.cloud.dev.util; import java.io.File; import java.io.IOExcep ...
- springmvc 发送PUT 和 DELETE 请求
一: 发送 DELETE 或者 PUT 请求: 1.在表单中加入一个隐藏的参数: _method , 值是 DELETE (或者PUT) <form action="springmv ...
- jsp中Ajax请求发送PUT、DELETE请求的方式_刘锋的博客
jsp中Ajax请求发送PUT.DELETE请求的方式 方式一 首先配置pom.xml ,添加过滤器 <filter><filter-name>hiddenHttpMethod ...
- gin使用 GET, POST, PUT, PATCH, DELETE, OPTIONS
使用 GET, POST, PUT, PATCH, DELETE, OPTIONS func main() { // Disable Console Color // gin.DisableConso ...
- Tornado的同步API写法举例实现GET/POST/DELETE请求+Tornado获取post请求中的json数据(转载)
下面的实验主要来自[1][2],但是对实验2的代码进行了修改,修改过程参考了[3] #---------------------------------------------------实验1--- ...
最新文章
- 构建负载均衡服务器之二 LVS详解及应用
- Python通过代理ip访问网站
- WPF的Clipboard.SetText()有问题
- python实现新闻网站_如何用 100 行 Python 代码实现新闻爬虫?这样可算成功?
- Distributed TensorFlow
- 线程间通信之eventfd
- ng bind html 无效,angularjs中ng-bind-html的用法总结
- html柳树动画,3D教程-柳树生长动画
- 关于安装AccessDatabaseEngine_x64.exe 的说明
- 我php第一个页面,您的第一个 PHP 页面
- 使用 Filebeat 对多行日志进行处理(multiline)
- Python3 输入和输出(一)
- python学习笔记之读取pdf文件库pdfminer(二)
- php做网站步骤_怎么制作php网站
- Docker安装JanusGraph
- jmeter安全证书_使用Jmeter进行https接口测试时,如何导入证书
- 使用内网穿透实现外网访问内网地址
- 井字游戏HTML,HTML5井字棋游戏
- php include require m.jb51.net,phpmyadmin下载、安装、配置教程
- 选择结构与分支结构 计算器的实现
热门文章
- android获取手机的IMSI码
- 【Java】面向对象是什么
- 【Scala】Scala中的_ 和 _*分别代表什么
- 垃圾收集器(CMS收集器 , G1收集器…)
- JMeter性能测试中如何使用“用户参数”实现参数化
- Selenium API-鼠标与键盘事件
- web自动化如何在不同浏览器运行_如何给树莓派搭建WEB开发运行环境之JAVA篇
- html ajax输出表格中,使用Ajax来渲染HTML表格
- mysql mybatis 主键id_MyBatis+MySQL 返回插入的主键ID
- linux的grub界面退出,linux退出 grub