带有数据的nodejs httprequest-获取错误getaddrinfo ENOENT [英] nodejs httprequest with data - getting error getaddrinfo ENOENT

查看:580
本文介绍了带有数据的nodejs httprequest-获取错误getaddrinfo ENOENT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到必须确保从计算机正确解析了DNS,请检出

I see one has to make sure that the DNS is resolved properly from the machine, check out the node documentation to make sure that domain is resolvable.

我正在编写一个基于节点的程序,用户可以在该程序中要求我代表他们执行httprequest {当然,他们向我提供一些数据和调用方法),但是每次我执行httprequest时,它都会我有错

i am writing a nodes based program,in which the user can ask me to do a httprequest on their behalf {off course they provide me with some data, and method to call with} but every time i do a httprequest it gives me an error

getaddrinfo ENOENT 这就是我的代码的样子

getaddrinfo ENOENT this is how my code looks

function makehttprequest(deviceid, httpaction, httppath,methods, actiondata, callback) {
console.log('we are here with httpaction' + httpaction + ' path ' + httppath + ' method ' + methods + ' action data ' + actiondata);
 //do the http post work, get the data, and call the callback function with return data
 var options = {
   host: httpaction,
   port: 80,
   path: httppath,
   method: methods
 };

    try {
      var req = http.request(options, function(res) {
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
          console.log('BODY: ' + chunk);
        });
      });
    } catch(e) {
      console.log('error as : ' + e.message);
    }

    req.on('error', function(e) {
      console.log('problem with request: ' + e.message);
    });

    // write data to request body
    console.log('writing data to request ..');
    req.write(actiondata);
    console.log('finished writing data to request…');
    req.end();
    console.log('request ended…');
}

推荐答案

我已经看到,当您的主机(您通过httpaction传入)前面有方案(即"http://")时,就会发生这种情况.您的主机必须严格是"www.google.com"之类的域名,而不是" http://www.google.com "或"www.google.com/hello-world"或" http://www.google.com /hello-world ".

I've seen this happen when your host (which you pass in as httpaction) has the scheme (so "http://") in front of it. Your host should strictly be the domain like "www.google.com" not "http://www.google.com" or "www.google.com/hello-world" or "http://www.google.com/hello-world".

仅保留域.

这里是一个示例: http://allampersandall.blogspot. com/2012/03/nodejs-http-request-example.html

这篇关于带有数据的nodejs httprequest-获取错误getaddrinfo ENOENT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆