var http = require('http');
exports.get = function(){
var options = {
host: 'http://stackoverflow.com/'
};
http.get(options, function(res) {
console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
};
给我的错误为Got error: getaddrinfo ENOTFOUND http://stackoverflow.com/ http://stackoverflow.com/:80
我用的是文档; https://nodejs.org/docs/v0.5.2/api/http.html#request.url
可能是什么问题,我在选项中添加了端口号;
var options = {
host: 'http://stackoverflow.com/'
port:443 //also port:8080, port:80, port: 8118
};
但仍然没有解决方案。是关于公司代理吗?
如何联系该链接?
答案 0 :(得分:3)
主机不是网址。尝试
主持人 stackoverflow.com
。
var options = {
host: 'stackoverflow.com',
port: 80,
path: '/',
method: 'GET'
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
...
答案 1 :(得分:0)
此问题有时会发生,具体取决于主机,某些主机(如'stackoverflow.com')可能会返回200,在某些情况下,例如'google.com'可能会返回301状态代码,因此您应该填写主机变量,如下所示代码200:
var options = {
host: 'www.google.com',
port: 80,
path: '/',
method: 'GET'
};
主持人:'www.google.com'我的状态代码为200。 但主持人:'stackoverflow.com'只有当我删除'www。'我将获得状态代码200。
任何有这个问题的人,你都应该尝试使用和不使用'www'。得到正确的结果。