curl post接收不到数据

yzt丶 2016-07-28 10:49:12
aa.php用curl函数向test.php POST数据

aa.php内容:
<?php
$data = array("username"=>"aaa","pas"=>"bbbb");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/test.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

test.php内容:
<?php
print_r($_POST); 结果为ARRAY()
//print_r($_POST[‘username’]);结果为空白

求大神告知,为什么没有数据????小弟不胜感激
...全文
1108 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42550285 2018-06-26
  • 打赏
  • 举报
回复
'Content-Type: application/form-data; charset=UTF-8',看看头信息中的这个设置是否正确,我把这个信息去除,就可以正常接收POST数据了
qq_42550285 2018-06-26
  • 打赏
  • 举报
回复
'Content-Type: application/form-data; charset=UTF-8'
u014567183 2016-07-28
  • 打赏
  • 举报
回复
引用 15 楼 angel2556269 的回复:
test.log生成了,但是内容还是为空
你访问的test.php? 你应该访问a.php然后让test.php进行操作处理。 比如

if($_POST['username']=='123'){
	echo "OK";
}else{
	echo "no";
}
你已经获取了$_POST值,但是你要知道,你是从通过a.php才post给test.php值得。直接访问test.php不会有post数据。
xuzuning 2016-07-28
  • 打赏
  • 举报
回复
引用 16 楼 angel2556269 的回复:
比如微信服务器,咱给他post一些json数据,他怎么知道咱post的是什么?
协议!你的按他的要求传递数据,否则就是非法的,通不过的
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
比如微信服务器,咱给他post一些json数据,他怎么知道咱post的是什么?
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
test.log生成了,但是内容还是为空
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
但是我得判断啊,判断username等不等于某个值啊,所以我猜想收到他给我的post数据,作对比,现在的话怎么判断呢?
傲雪星枫 2016-07-28
  • 打赏
  • 举报
回复
可以在test.php 加入一句

file_put_contents('test.log', json_encode($_POST)."\r\n", true);
使用a.php调用curl提交后,看看test.log是否生成,内容是否你提交的数据
傲雪星枫 2016-07-28
  • 打赏
  • 举报
回复
a.php能打印出来,就表示已经能post并返回了。
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
不是啊,他是用unity像我post数据 我不知道怎么读取他给我post数据 所以我本地用curl模拟这个过程 其实我就想知道别人给我post过来数据 我如何在服务端查看?
xuzuning 2016-07-28
  • 打赏
  • 举报
回复
对呀,都能打印出来了,还不能写代码处理吗?
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
右边的是我在a.php里print_r出来的。我的目的是别人post给我数据,用curl也好,用其他方法也好,然后接收这些post数据与数据库作对比,所以才有了test.php用了接收到post数据存储。可是收不到数据,是不是我哪里想错了?
一起混吧 2016-07-28
  • 打赏
  • 举报
回复
aa.php =》 test.php aa 提交到test 直接访问test.php都没有提交,当然post的数据为空。 访问aa.php 不就正常了
xuzuning 2016-07-28
  • 打赏
  • 举报
回复
你的右图不是已经收到了吗?
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
那请问,我在test.php中如何获得 a.php远程POST的数据呢?
xuzuning 2016-07-28
  • 打赏
  • 举报
回复
直接访问 test.php返回空数组,是正常的 直接访问是 get 方式,$_POST 数组必然为空
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
你看test.php返回空数组
u014567183 2016-07-28
  • 打赏
  • 举报
回复
是的,代码没问题
yzt丶 2016-07-28
  • 打赏
  • 举报
回复
请问你的结果用的我的源代码出来的吗????
xuzuning 2016-07-28
  • 打赏
  • 举报
回复
Array ( [username] => aaa [pas] => bbbb ) 除非你的 web 服务器不支持 post

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧