网页中发送请求时,大部分情况都参数以键值组合发送数据的,而一些第三方如java开发的接口中需要发送post请求,请求参数为json类型。

既然要发送json数据,首页我们需要在请求头中定义数据类型为json,告诉服务器客服端发送过来的数据类型为json,设置请求头内容类型:Content-Type: application/json; charset=utf-8

php发送post请求的json参数代码,curl实现:<?php

//如果接口返回的数据为json,这里需要先定义数据类型为json

header("Content-type:application/json;charset=utf-8");

$url = "http://zixuephp.net";

$data = array('a'=>'test1','b'=>'test2','c'=>array('1','2','3'));

//这里需要注意的是这里php会自动对json进行编码,而一些java接口不自动解码情况(中文)

//$json_data = json_encode($data,JSON_UNESCAPED_UNICODE);

$json_data = json_encode($data);

//curl方式发送请求

$ch = curl_init();

//设置请求为post

curl_setopt($ch, CURLOPT_POST, 1);

//请求地址

curl_setopt($ch, CURLOPT_URL, $url);

//json的数据

curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//显示请求头

//curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

//请求头定义为json数据

curl_setopt($ch, CURLOPT_HTTPHEADER, array(

'Content-Type:application/json;charset=utf-8',

'Content-Length: '.strlen($jsonStr)

)

);

$response = curl_exec($ch);

//echo curl_getinfo($ch, CURLINFO_HTTP_CODE);

//echo curl_getinfo($ch, CURLINFO_HEADER_OUT);

curl_close($ch);

//var_dump($response;)

echo $response;

php发送post请求json数据,curl函数的实现。同理,也可以使用file_get_contents函数进行实现post请求,也能实现上面的功能。

php接收post请求json参数代码,不能再用$_POST方式接收,会接收不到数据,因为现在的内容类型是Content-Type:application/json;charset=utf-8,使用$_POST接收的类型为application/x-www-form-urlencoded或multipart/form-data类型://接收post请求来的json数据

$data = file_get_contents('php://input');

//json转php数组

$data = json_decode($data, true);

var_dump($data);

php curl json post请求_php post请求发送json对象数据参数相关推荐

  1. 前台传json ajax,ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组...

    1.引子 2.前端往后台传输json数据 JSON.stringify()方法将json对象转为字符串形式.如果不使用**JSON.stringify()**方法,后台的java代码将不能获得json ...

  2. html表单发送json,在HTML表单上发送JSON数据提交

    我有一个html表单,该表单有两个字段(名称,说明).当用户点击该表单的提交按钮时,我想以json格式提交表单数据.在HTML表单上发送JSON数据提交 我试过如下: function submitD ...

  3. PHP和ajax请求_php ajax请求和返回

    define('NOW_TIME', $_SERVER['REQUEST_TIME']); define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']); d ...

  4. postman发送json请求,使用案例

    介绍:  postman是一个很好的http模拟器,,可以发送get.post.put等各种请求,是测试服务接口相当好的工具. postman发送json请求,使用案例 发送json的具体步骤: 1. ...

  5. HTTP get请求发送JSON格式数据

    get请求一般不建议发送JSON格式的数据,单总有一些奇葩系统要求 分享下本人对接途牛 传递get请求 json数据的方法 第一步:平常的get请求不要想了 直接继承 import org.apach ...

  6. qt5中服务器文件传输,POST在Qt5中发送JSON文件的请求

    在Qt5的帮助下,通过POST请求将JSON文件发送到服务器时有点问题.我给你一张我的程序:POST在Qt5中发送JSON文件的请求 #include #include #include #inclu ...

  7. curl post请求表单_CURL 发送POST请求

    CURL 发送POST请求 curl -H "Content-Type: application/json" -X POST -d '{"user_id": & ...

  8. PHP如何通过Http Post请求发送Json对象数据?

    因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象. Http中传输对象,最好的表现形式莫过于JSON字符串了, ...

  9. python并发1000个http请求_php下api接口的并发http请求

    php下api接口的并发http请求 ,提高app一个页面请求多个api接口,页面加载慢的问题: func_helper.php /*** 并发http请求** [* 'url' //请求地址* 'm ...

最新文章

  1. 您不是专业测试人员的10个理由!
  2. 根据皮肤亮度来区分salmon和sea bass,这个比较好
  3. 真的不值得重视吗?ETH Zurich博士重新审视贝叶斯深度学习先验
  4. IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
  5. 深度学习之卷积神经网络 LeNet
  6. DoTween NGUI bug
  7. 你的 App 在 iOS 13 上被卡死了吗?
  8. VALSE学习(十):图像去模糊-image deblurring
  9. mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)
  10. activiti7基础入门、activiti7实战、activiti7运用
  11. (77)--用框架爬取博客园信息并保存到数据库
  12. 苹果手机用H5 audio标签无法自动播放音乐解决方法/html网页自动播放音乐
  13. LeetCode刷题汇总
  14. TI DSP 6657 SRIO 简介
  15. 装修颜色搭配大全,全是惊喜啊
  16. 午夜00:37分,与蚊子相伴无眠之夜
  17. idea 的 maven 项目报错:The program‘s entry point class ‘xxx‘ was not found in the jar file.
  18. redis 之redis持久化rdb与aof
  19. 组合数学——数三角形
  20. snpEff : 突变位点注释的又一利器

热门文章

  1. Kunpeng BoostKit 使能套件:大数据场景如何实现“大鹏一日同风起”倍级性能提升?
  2. Linux Ubuntu16.04界面美化
  3. java 审批流_一文读懂工作流
  4. java web filter链_filter过滤链:Filter链是如何构建的?
  5. PyTorch中的torch.nn.Parameter() 详解
  6. 使用百度云智能SDK和树莓派搭建简易的人脸识别系统 Python语言版
  7. mysql常规使用(建立,增删改查,视图索引)
  8. md5 java代码_JAVA简单实现MD5注册登录加密实例代码
  9. ad电阻原理图_【雕爷学编程】Arduino动手做(2)---光敏电阻模块
  10. Java线程怎么发送消息_Java客户端Socket如何能在阻塞线程下收到服务端发送来的消息?...