今天遇到了一个file_get_contents('php://input')获取不到curl post请求的数据的问题。
代码如下:
两个php脚本
1.php
$ch = curl_init();
$data = json_encode(array('username' => 'aaa', 'password' => 'xxx','sign'=>'dasddsadxf123dsad'));
$url = 'http://test.com/test_php/file_get_contents_post/2.php';
$ch = curl_init(); //初始化curl
curl_setopt($ch, CURLOPT_URL, $url);//设置链接
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否返回信息
curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//POST数据
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
$response = curl_exec($ch);//接收返回信息
if(curl_errno($ch)){//出错则显示错误信息
print curl_error($ch);
}
curl_close($ch); //关闭curl链接
echo $response;//显示返回信息
2.php
$res = file_get_contents('php://input');
var_dump($res);
返回结果为空,在1.php里打印返回结果,获取不到2.php返回的内容。请问是什么原因?有人知道吗?