2 回答

TA貢獻1802條經驗 獲得超10個贊
我正在嘗試發送發布請求,這是正確的格式
https://domainname.com/dashboard/api?to={PHONE NUMBER}&from={SENDER ID}&message={TEXT}&email={YOUR EMAIL}&api_secret={API SECRET}
這是請求的樣子:
https://domainname.com/dashboard/api?to=123456789&from=text&message=text&[email protected]&api_secret=123abc
所以我做了一個html表單:
<div class="body">
<form method="post" action="index.php">
<div id="form">
<div class="formInput">
<label>To:
<input type="text" name="to" id="to" />
</label>
</div>
<div class="formInput">
<label>From:
<input type="text" name="from" id="from" />
</label>
</div>
<div class="formInput">
<label>Message:
<input type="text" name="message" id="message" />
</label>
</div>
<div class="formInput">
<label>Email:
<input type="text" name="email" id="email" />
</label>
<div class="formInput">
<label>Api_Secret:
<input type="text" name="api_secret" id="api_secret" />
</label>
</div>
</div>
<input type="submit" value="Submit" />
</div>
</form>
還有一個用 curl 處理數據的 php 文件:
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://domainname.com/dashboard/api',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'to' => $_POST['to'],
'from' => $_POST['from'],
'message' => $_POST['message'],
'email' => $_POST['email'],
'api_secret' => $_POST['api_secret'],
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo($response);
?>
但它仍然不起作用。我在 postbin 上做了一個請求,查詢如下所示:
123456789:
text:
text:
123abc:
是不是格式不對?我是否以錯誤的格式發送所有內容?非常感謝您的幫助,因為我在過去 3 天里一直在搞砸這個..

TA貢獻2003條經驗 獲得超2個贊
您的API似乎接受 GET 請求而不是 POST,您使用 curl的調用是 POST。
因此,您的表單似乎沒問題,它們具有 API 所需的所有變量。
現在我認為問題出在你的 index.php 文件(從表單中調用),試試這個:
<?php
//checking for all variables filled in form
if (isset($_POST['to']) && isset($_POST['from']) && isset($_POST['message']) && isset($_POST['email']) && isset($_POST['api_secret'])){
//rebuild API call
$_ENDPOINT_CALL = "https://domainname.com/dashboard/api?to={$_POST['to']}&from={$_POST['from']}&message={$_POST['message']}&email={$_POST['email']}&api_secret={$_POST['api_secret']}";
//cURL GET request
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $_ENDPOINT_CALL
]);
$response = curl_exec($curl);
curl_close($curl);
//write response
echo $response;
}
?>
- 2 回答
- 0 關注
- 156 瀏覽
添加回答
舉報