PHP如何通过Http Post请求发送Json对象数据?
2023-09-14 08:57:26 时间
因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象。
Http中传输对象,最好的表现形式莫过于JSON字符串了,但是作为参数的接收方,又是需要被告知传过来的是JSON!
其实这不难,只需要发送一个 http Content-Type头信息即可,即 “Content-Type: application/json; charset=utf-8”,参考代码如下:
<?php /** * PHP发送Json对象数据 * * @param $url 请求url * @param $jsonStr 发送的json字符串 * @return array */ function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($jsonStr) ) ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return array($httpCode, $response); } $url = "http://52php.cnblogs.com"; $jsonStr = json_encode(array('a' => 1, 'b' => 2, 'c' => 2)); list($returnCode, $returnContent) = http_post_json($url, $jsonStr);
API服务端端接收客户端传过来的 “Content-Type: application/json; charset=utf-8”头信息后,再将 http body 数据(即 Json字符串)转换成 类对象!
相关文章
- 【笔记php】如何使用PHP从JSON提取数据?
- MySQL 锁表与 PHP 数据交互实现(mysql锁表php)
- PHP在Linux系统中的安装与下载(php下载linux)
- PHP扩展Redis:建立强大的缓存架构(php扩展redis)
- 数据深入了解:PHP查询MySQL数据库(php显示mysql)
- 迈出新步伐:Linux下快速PHP升级(linux下php升级)
- 数据深入PHP:从MySQL获取表数据(php获取mysql表)
- php开发MySQL 4.1 PHP开发:越来越优秀(mysql4.1)
- 器使用Linux快速启动PHP服务器(linux启动php服务)
- 从MySQL到PHP:展示表格数据(php显示mysql表)
- 使用PHP和MySQL精心构建表单(php表单mysql)
- 数据PHP实现MySQL数据导出的实现方法(php导出mysql)
- PHP轻松访问MySQL数据:使用简明易懂的方法获取数据(php获取mysql数据)
- PHP与MSSQL:高效开发数据驱动应用程序(php与mssql)
- PHP中使用Redis简单取值(redis取值php)
- PHP使用Redis实现数据存储(php连接redis)
- 使用PHP实现Redis分布式缓存(php实例化redis)
- 、mysqlLinux安装PHP和MySQL的指南(linux 安装php)
- 使用PHP实现远程连接MSSQL数据库(php远程连接mssql)
- 解决PHP输出MSSQL数据中文乱码问题(php输出MSSQL乱码)
- PHP实现从MSSQL中数据显示(php 显示 mssql)
- PHP连接MSSQL:让你更快更好地实现数据互通(php接mssql)
- PHP与MSSQL联合 处理日期数据(php mssql 日期)
- Linux下快速搭建PHP环境一步到位(linux一键安装php环境)
- Linux定时执行PHP脚本,提高效率(linux定时执行php)
- PHP图片上传至MySQL:实现快速可靠的数据存储(php图片上传mysql)
- 为PHP引入Redis提高数据处理效率(为什么php用redis)
- 如何使用PHP往windows中添加用户
- php设计模式DAO(数据访问对象模式)
- 关于PHP中Object对象的笔记分享
- PHP学习笔记IIS7下安装配置php环境
- PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子