PHP实现中转请求POST数据(PHP请求表单数据Yii2如何接收json数据)
这是post请求表单json数据,接收数据要做的一些事情:
<?php
date_default_timezone_set('PRC');
header("Content-type: text/html; charset=utf-8");
$datas = file_get_contents("php://input");
$request_data = json_decode(stripslashes($_GET['data']), true);
$result_data = curl_https('http://test.com/request/web/abc/',$request_data);
echo $result_data;
function curl_https($url, $data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch);
$result_arr = array();
if (curl_errno($ch)) {
$result_arr['http_html'] = "Error: " . curl_error($ch);
}
curl_close($ch);
return $response;
}
public function beforeAction($action){
return true;
}
public function actionAbc(){
$datas = file_get_contents("php://input");
$data = $_POST['data'];
return json_encode($result_data);
}