php 使用 curl 模拟post请求,被请求端获取参数
请求:
<?php
$url = 'http://hhh.lxx123.club/post.php';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1); // 设置post请求
$post_data = [
"perception" => [
'inputText'=>[
'text'=>'123'
]
],
"userInfo" => [
'apiKey'=>'4a50d69293d743bba96fb65155bff42f',
'userId'=>'123456'
]
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($post_data));// 在这里只能传输str,使用json_encode编码
$response = curl_exec($curl);// 不直接输出结果,保存到源
curl_close($curl);
echo ($response);// 输出
$gateway = 'http://212.129.140.217:8080/gateway/api.htm'; // 测试
$data = "orgCode={$orgCode}&serviceCode={$serviceCode}&orgNo={$orgNo}&jsonData={$jsonData}&sign={$sign}";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $gateway);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1); // 设置post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
curl_close($curl);
if ($response!=false) {
# 获取成功
}
服务端
<?php
$data = isset($_POST)?$_POST:'';
echo(json_encode($data));// 提交的字符串会自动转换为array,在这里编码再输出
exit();