如何监听GET命令并利用URL变量

时间:2019-03-11 21:20:29

标签: javascript php node.js

我有一个围绕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> 

0 个答案:

没有答案