在流星中打开一个web服务url

Open a web service url in meteor

本文关键字:一个 web 服务 url 流星      更新时间:2023-09-26

我在php中有一个脚本,该脚本将一个web服务url用于发送短信

<?php
$amount = 300;
$url = 'http://sms.com.co/webservice/sms.php?method=Submit&account=adam&password=123456&mobile=773839&content=helloworld;'
echo file_get_contents($url);
?>

在nodejs中,我有这个

var urllib = require('urllib');
urllib.request('http://sms.com.co/webservice/sms.php?method=Submit&account=adam&password=123456&mobile=773839&content=helloworld');

我正在流星中寻找一个我可以使用的函数或包,这样我就可以避免安装urllib-npm包。

您可以为此使用"HTTP"。

HTTP.call('get', 'http://sms.com.co/webservice/sms.php', {
  params: {
    method: 'Submit',
    account: 'adam',
    password: '123456',
    mobile: '773839',
    content: 'helloworld'
  }}, function(err, res) {
     // do stuff
  })

从Meteor方法调用时,它将是异步的。您的方法不会等待HTTP调用的响应。为了做到这一点,你需要像这样使用wrapAsync:

var convertAsyncToSync = Meteor.wrapAsync(HTTP.get),
            apiCall = convertAsyncToSync(yourURLHere, {params});
        if (apiCall.statusCode === 200) {
           // do stuff
        }

听起来您需要Meteor核心库中的"HTTP"。看见http://docs.meteor.com/api/http.html详细信息。使用安装

meteor add http

这允许您从服务器使用方法或不使用方法打开URL:

HTTP.call('get', 'http://sms.com.co/webservice/sms.php', {
  params: {
    method: 'Submit',
    account: 'adam',
    password: '123456',
    mobile: '773839',
    content: 'helloworld'
  }}, function(err, res) {
     // do stuff
  })