<?php
$arr = array(
'subject'=>'课程',
'loginName'=>'Durriya',
'password'=>'123'
); //json也可以
$data_string = json_encode($arr);
//普通数组也行
//$data_string = $arr; echo $data_string;
//echo '<br>'; //curl验证成功
$ch = curl_init("http://test.api.com/");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
)); $result = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);
echo $result;

接上面的curl依然可以访问成功

//curl验证成功
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://hzgwyw.gensee.com/integration/site/training/room/created");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data_string);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data_string)
)
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($curl);
curl_close($curl);
echo $res;

以上是在随便一个php页面中可以实现的,在Thinkphp中所做的项目测试不支持头部的定义,然后又有一种新的curl格式也可以提交成功,但是都已数组的形式可以实现

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );
$response = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);

做接口测试的过程中遇到的问题:

使用表单提交的方式:(可以是json,也可以是数组)

1)提交后将值转化为数组--->对数组转义json_encode($arr);成json数据可以实现,

2)提交后将值转化为数组--->不进行转义直接以数组的形式:两种方法都可以实现

直接对变量赋值得到数组(不可以json数据)

以上三种经验证都可以将数据输出成json格式

<?php
$data = array("subject" => "nihao",
"startDate" => "2016-10-12 22:22:22",
"loginName"=>'admin@hzgwyw.com',
"password"=>'hzgwyw',
);
$data_string = $data; $url = "http://hzgwyw.gensee.com/integration/site/training/room/created";
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );
$response = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);
echo $response;

最新文章

  1. BZOJ 2091: [Poi2010]The Minima Game
  2. Windows错误码解析
  3. WPF Datagrid删除一行
  4. 关于lambda表达式的一些学习——基于谓词筛选值序列
  5. redis的 rdb 和 aof 持久化的区别 [转]
  6. WinRT知识积累1之读xml数据
  7. MFC之简单计算器
  8. 介绍开源的.net通信框架NetworkComms
  9. EDIUS和会声会影的区别
  10. 转载:Comet:基于 HTTP 长连接的“服务器推”技术
  11. 《Maven_孔浩》依赖传递
  12. GNU LIBC源代码学习之strcmp
  13. android开发者博客二月Android Studio2.0测试
  14. Jqgrid的用法总结与分页功能的拓展
  15. oncreate 测量尺寸
  16. Intel 的面试经历中国研究院
  17. js-面试题之字符串
  18. javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
  19. shiro权限控制(二):分布式架构中shiro的实现
  20. kmalloc分配物理内存与高端内存映射--Linux内存管理(十八)

热门文章

  1. android 知识汇总
  2. Apache 2.4.27外网访问403(Forbidden)错误
  3. python基础(8)-装饰器函数&amp;进阶
  4. 2018-2019-1 20189203《Linux内核原理与分析》第五周作业
  5. dubbo注册到zookeeper
  6. taro中子父传值
  7. html5降龙十八掌-函数,对象,数组的练习
  8. 2017-2018-1 20155228 《数学建模》 MatlabR2017a安装教程
  9. 基于Groovy+HttpRestful的超轻量级的接口测试用例配置的设计方案及DEMO实现
  10. 使用java进行 AES 加密 解密?