我的http请求有什么问题
我能够input我的url:192.168.1.132到我的浏览器,我得到正确的响应与“你好世界”,同样的事情,如果我做一个curl192.168.1.132
但如果我运行这个代码
var http = require('http'); var options = { host: 'http://192.168.1.132', path: '/' }; callback = function(response) { var str = ''; //another chunk of data has been recieved, so append it to `str` response.on('data', function (chunk) { str += chunk; }); //the whole response has been recieved, so we just print it out here response.on('end', function () { console.log(str);
我收到错误:
events.js:85 throw er; // Unhandled 'error' event ^ Error: getaddrinfo ENOTFOUND http://192.168.1.132 at errnoException (dns.js:44:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:94:26)
我究竟做错了什么?
您所显示的代码中唯一可以识别的错误是在options
对象的host
属性中包含协议scheme。 这应该是:
host: '192.168.1.132',
更改后发生的任何其他错误都是在您没有显示的代码中。 以下是基于您的代码的工作代码示例。
var http = require('http'); var options = { host: 'www.google.com', path: '/index.html' }; callback = function(response) { var str = ''; //another chunk of data has been recieved, so append it to `str` response.on('data', function (chunk) { str += chunk; }); //the whole response has been recieved, so we just print it out here response.on('end', function () { console.log(str); }); }; var req = http.request(options, callback); req.on('error', function (e) { console.log('problem with request: ' + e.message); }); req.end();