时间:2021-07-01 10:21:17 帮助过:78人阅读
如果想通过php来进行测试,那么要怎么去编译?
通过curl去post,在file_get_contents("php://input")
里被判断为空。
a.php
$json = file_get_contents("php://input");//接收APP请求
if (isset($json) && !empty($json)) {
$json = json_decode($json, true);
}else{
die("没接收到任何数据,请求失败!");
}
b.php
$url = "a.php";
$param = [
'a'=>'xxx',
'b'=>'xxx'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
程序设置只有接受到APP、POST过来的数据才会继续走,否则直接跳出。
如果想通过php来进行测试,那么要怎么去编译?
通过curl去post,在file_get_contents("php://input")
里被判断为空。
a.php
$json = file_get_contents("php://input");//接收APP请求
if (isset($json) && !empty($json)) {
$json = json_decode($json, true);
}else{
die("没接收到任何数据,请求失败!");
}
b.php
$url = "a.php";
$param = [
'a'=>'xxx',
'b'=>'xxx'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
你传过云用的http_build_query,收到却用json_decode,这肯定没数据呀,收到数据应该用parse_str解析
有可能是编码问题,先将接收过来的东西存一下,看看是否有数据 不要直接json_decode
$url = "http://localhost/a.php";
$param = [
'a'=>'xxx',
'b'=>'ooo'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$response = curl_exec($ch);
curl_close($ch);
echo $response;