使用node.js的HTTPS请求

HTTPS request with node.js?

本文关键字:HTTPS 请求 js node 使用      更新时间:2023-09-26

我需要在node.js应用程序中触发一个请求。我的应用程序有一个路由,当它运行时,我试图访问一个动态构建的url。所以我只需要触发一个RESt 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的请求。如果我有一个静态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);
});