如何使php://input接收到另一个php的数据
阿神
阿神 2017-04-10 16:38:22
0
3
832

程序设置只有接受到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;
阿神
阿神

闭关修行中......

全部回覆(3)
PHPzhong

你传过云用的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;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!