我正在尝试在 PHP 中使用 cURL 发出 POST 请求。我有发出 POST 请求的代码(来自index.php),我相信它是正确的。
下一部分是 API 层(api.php),它需要从 POST 请求中提取数据,这就是我遇到问题的地方。在代码中,我试图读取使用 index.php 传递的参数 q 的值。
这是这两个文件的代码。
索引.php
<?php
$handle = curl_init();
curl_setopt_array(
$handle,
array(
CURLOPT_URL => 'http://localhost:8888/restAPI/api.php',
'q' => 'getCompanyId',
'post_fields' => 'q=getCompanyId',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'q' => 'getCompanyId'
),
CURLOPT_RETURNTRANSFER => true
)
);
$response = curl_exec($handle);
curl_close($handle);
?>
api.php
<?php
require_once("Rest.inc.php");
class API extends REST {
public function processApi() {
$func = $_REQUEST['q'];
if((int)method_exists($this,$func) > 0){
$this->$func();
}
else{
$this->response('',404);
// If the method not exist with in this class, response would be "Page not found".
}
}
public function getCompanyId(){
$dbhost = 'localhost:8888';
$conn = mysql_connect($dbhost, 'root', 'root');
if (! $conn) {
die('Could not connect - ' . mysql_error());
}
$sql = 'SELECT companyId FROM Companies';
mysql_select_db('IRSocialBackend');
$executeSql = mysql_query($sql);
while($data = mysql_fetch_array($executeSql)){
echo $data['companyId'];
}
}
}
//echo "here";
$api = new API;
$api -> processApi();
?>