当前位置: 首页 > news >正文

java写post 服务端_curl post请求java服务端提供的接口

post请求此接口是通的,但是PHP程序中请求就报500 ,下面贴代码 参数是他们需要的参数,格式也是按照定下来的标准。。很诡异。。各位大神遇到过吗

$this->sendRequest('POST', $url, json_encode($params), ['Content-Type: application/json']);

/**

* 发送HTTP请求,获取响应结果

*

* @param string $method 请求方法

* @param string $url 请求地址

* @param array $params 请求体参数

* @param array $headers 请求头

* @param bool|string $https 是否启用证书认证,可传入证书路径

*

* @return array

*/

protected function sendRequest($method, $url, $params = [], $headers = [], $https = false)

{

// 标准化请求方法

$method = strtoupper($method);

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_URL, $url);

// 写入Headers

if ($headers) {

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

}

// 控制请求参数

if ($method != 'GET') {

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

if ($method != 'POST') {

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);

}

}

// Https证书

if (stripos($url, 'https') === 0) {

if ($https && is_string($https)) { // 传入证书路径

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);

curl_setopt($ch, CURLOPT_CAINFO , $https);

} else {

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $https ? 2 : 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $https ? 1 : 0);

}

}

curl_exec($ch);

$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$content = curl_multi_getcontent($ch);

curl_close($ch);

return [

'status' => $status,

'content' => $content

];

}

相关文章:

  • mysql数据库model_mysql – 一个_model_数据从关系数据库在clojure?
  • Java构造函数求两点间的距离_java计算两点间的距离方法总结
  • java 关闭串口_Java串口关闭块
  • java 连接springmvc配置文件_详解SpringMVC加载配置Properties文件的几种方式
  • php 多路复用_php多路复用(多线程)
  • php autoload 原理,PHP的autoload机制的实现解析
  • php查询数量,php – 如何多个查询结果以减少查询数量?
  • php任务调度器,PHP协程机制进行多任务调度示例
  • php 关闭文件,PHP fopen()和fclose():打开和关闭文件
  • php ci框架 上传文件,CI框架文件上传类及图像处理类用法分析
  • php pdo query 空判断,检查空结果(php,pdo,mysql)
  • php 未读消息提醒,php – 如何使用已读/未读标志对用户进行通知?
  • php图像去光照,11.opengl光照-常见的三种光照实现
  • php array diff源码,PHP array_diff() 函数
  • php 自定义菜单 openid,微信自定义菜单链接网页获取openid
  • php的引用
  • 【EOS】Cleos基础
  • Angular2开发踩坑系列-生产环境编译
  • Apache Zeppelin在Apache Trafodion上的可视化
  •  D - 粉碎叛乱F - 其他起义
  • ES6核心特性
  • Invalidate和postInvalidate的区别
  • Java面向对象及其三大特征
  • JS笔记四:作用域、变量(函数)提升
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端面试之CSS3新特性
  • 数据科学 第 3 章 11 字符串处理
  • 湖北分布式智能数据采集方法有哪些?
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (30)数组元素和与数字和的绝对差
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)ORM
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .bat批处理(六):替换字符串中匹配的子串
  • .libPaths()设置包加载目录
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • /etc/fstab和/etc/mtab的区别
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [].slice.call()将类数组转化为真正的数组
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [Android学习笔记]ScrollView的使用
  • [GXYCTF2019]禁止套娃
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页