繁体   English   中英

使用node.js的HTTPS请求?

[英]HTTPS request with node.js?

我需要在我的node.js应用中触发一个请求。 我的应用有一条路线,当它运行时,我尝试访问动态生成的URL。 因此,我所需要的只是触发类似于以下内容的RESTE API调用:

"https://www.domainname.com/sometext/"+ var1 +"/someothertext"

所以我尝试了这个:

var options = {
    host: 'www.domainname.com',
    port: 80,
    path: '/1.0/'+var1,
    method: 'GET'
};

//  trigger request 
request(options, function(err,response,body) {
.......
});

当我运行此命令时,出现此错误: options.uri is a required argument

因此,我的目标是触发命中动态生成的URL的请求。 如果我有一个静态网址,则可以插入请求,它将正常工作。

事实上,我试图这样做:

request("https://www.domainname.com/1.0/456", function(err,response,body) {
.......
});

而且效果很好。

但是我正在尝试使用var1动态地构建url(路径),但这不起作用。

关于如何做到这一点的任何建议?

在作为request函数的第一个参数传递的选项中,您需要一个URL或URI

request("https://www.domainname.com/1.0/456",function(err,response,body) {不会失败的原因是因为您将url作为第一个参数提供

因此,将您的options对象更改为

var options = {
    url: 'https://www.domainname.com/sometext/'+ var1,
    port: 80,
    method: 'GET'
};

您可以尝试修剪var1的值,例如var1 = var1.replace(/^\\s*|\\s*$/g, '') ;

那应该删除空间。

因为没有为请求采用的options参数提供正确的格式化对象。

您收到的错误是因为您需要发送url or uri作为选项。 这可以在这里澄清:

https://github.com/request/request

以下应该做您想要的:

所以我尝试了这个:

var options = {
    url: "https://www.domainname.com/sometext/"+ var1 +"/someothertext"
    method: 'GET'
};

//  trigger request 
request(options, function(err,response,body) {
  console.log(response.statusCode);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM