我已经使用 CodeIgniter 和php coinbase API建立了一个网站。我有位于 /var/www/html/ 的 ipn 文件,具有 0777 权限。向我的 coinbase BTC 钱包存款时不会调用它。其他 API 调用(例如创建钱包地址、列出交易)运行良好。
下面是 coinbasedepositipn.php 文件中的代码。该文件使用 curl 将收到的通知原始正文推送到通知控制器中的方法。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$raw_body = file_get_contents('php://input');
$signature = $_SERVER['HTTP_CB_SIGNATURE'];
$data=array();
$data["rawbody"] = $raw_body ;
$data["signature"] = $signature;
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url=$protocol.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php/notifications/coinbasedepositipn";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$headers = [
"accept: application/json;charset=utf-8"
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Execute
$sitecontent = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
// Closing
curl_close($ch);
echo "$sitecontent <br><br> Notification done successfully.";
}
所以我想向我的服务器发送“ping”通知,以检查我的 ipn 文件是否一切正常。他们的API描述是“可以随时发送 Ping 通知以验证通知 URL 是否正常运行”但是找不到如何将 ping 发送到我的 ipn 页面并且知道我的文件可以从 coinbase 服务器端点访问。
希望您能帮助我找到发送 ping 通知的方法。提前致谢。