我有一个围绕NodeJS服务器构建的Web应用程序。该应用程序利用ClockwiseSMS,我想领取他们的收据,他们说可以在80或443端口上发送到我指定的URL。
我用JavaScript编写了一个简短函数,以提取所有URL变量并将它们作为WebSocket传递回服务器。当我将URL(带有变量)粘贴到浏览器中时,这种方法非常有用,但是我没有从ClockwiseSMS获取收货。
我在这里的想法是,(显然)他们没有为他们发出的每个命令打开浏览器,而是更有可能使用CURL命令或类似命令。无论哪种方式,这种方式都不会触发JS代码,因此我需要另一种方式。
我可以使用PHP来侦听和提取变量,但是却无法将PHP变量传递到需要它们的NodeJS服务器上。
不幸的是,ClockwiseSMS限制了它们将在其上发布交货收据更新的端口,否则,我将它们直接发送到我的服务器(端口3000)并在那里监听/记录了它们!没有骰子。
是否有人想更改以下代码,以便ClockworkSMS可以在指定的URL处访问以下代码,记录该URL中传递的所有变量并将其发送到我的NodeJS服务器上?
<script>
socket = io.connect('https://[MY URL]:3000', {secure: true});
function getUrlVars() { // Retrieve URL variables
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
var delrecID = getUrlVars()['msg_id'];
var delrecStatus = getUrlVars()['status'];
var delrecDetail = getUrlVars()['detail'];
socket.emit('deliveryReceipt', {
msgID: delrecID,
msgStatus: delrecStatus,
msgDetail: delrecDetail
});
</script>