seg*_*ter 4 javascript http node.js
我想尝试接收Node.js. 这是我正在玩的非常简单的代码
var http = require('http');
http.get('www.google.com', function(res) {
console.log(res.statusCode);
});Run Code Online (Sandbox Code Playgroud)
运行此代码时出现以下错误
events.js:141
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED 127.0.0.1:80
at Object.exports._errnoException (util.js:837:11)
at exports._exceptionWithHostPort (util.js:860:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14)
Run Code Online (Sandbox Code Playgroud)
在读取错误输出时,我添加了两行代码来处理错误事件,如下所示
var http = require('http');
http.get('www.google.com', function(res) {
console.log(res.statusCode);
res.on('error', function(error) {
console.error(error);
});
});Run Code Online (Sandbox Code Playgroud)
但同样的错误信息仍然存在,我在哪里搞砸了?
http.get除非您指定options为对象,否则必须使用URL而不是域名:
options可以是对象或字符串.如果options是字符串,则会自动解析url.parse().
相比:
var http = require('http');
http.get('http://www.google.com/', function(res) {
console.log(res.statusCode);
});
Run Code Online (Sandbox Code Playgroud)
附:
var http = require('http');
http.get({host:'www.google.com'}, function(res) {
console.log(res.statusCode);
});
Run Code Online (Sandbox Code Playgroud)
这两项工作.
注意我认为这是一个网络问题,但实际上host,选项中的默认值是localhost这样,当它无法解析字符串并保留默认选项时.好像代码是:
var http = require('http');
http.get({}, function(res) {
console.log(res.statusCode);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26280 次 |
| 最近记录: |