http在nodejs中获取
http get in nodejs
var http = require('http');
exports.get = function(){
var options = {
host: 'http://whosebug.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://whosebug.com/ http://whosebug.com/:80
我使用文档; https://nodejs.org/docs/v0.5.2/api/http.html#request.url
可能是什么问题,我在选项中添加了端口号;
var options = {
host: 'http://whosebug.com/'
port:443 //also port:8080, port:80, port: 8118
};
但是还是没有解决办法。是关于公司代理吗?
我怎样才能达到 link?
主机不是 URL。尝试
whosebug.com
主机。
var options = {
host: 'whosebug.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));
...
此问题有时会发生,具体取决于主机,某些主机如 'whosebug.com' 可能 return 200 而在某些情况下 'google.com' 可能会 return 301 状态代码,因此您应该像下面那样填充主机变量以获得状态代码 200:
var options = {
host: 'www.google.com',
port: 80,
path: '/',
method: 'GET'
};
with host: 'www.google.com' 我得到 200 的状态码。
但是对于主机:'whosebug.com' 只有当我删除 'www.' 时,我才会得到状态码 200.
遇到此问题的任何人,您应该尝试使用和不使用 'www.' 以获得正确的结果。
var http = require('http');
exports.get = function(){
var options = {
host: 'http://whosebug.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://whosebug.com/ http://whosebug.com/:80
我使用文档; https://nodejs.org/docs/v0.5.2/api/http.html#request.url
可能是什么问题,我在选项中添加了端口号;
var options = {
host: 'http://whosebug.com/'
port:443 //also port:8080, port:80, port: 8118
};
但是还是没有解决办法。是关于公司代理吗?
我怎样才能达到 link?
主机不是 URL。尝试
whosebug.com
主机。
var options = {
host: 'whosebug.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));
...
此问题有时会发生,具体取决于主机,某些主机如 'whosebug.com' 可能 return 200 而在某些情况下 'google.com' 可能会 return 301 状态代码,因此您应该像下面那样填充主机变量以获得状态代码 200:
var options = {
host: 'www.google.com',
port: 80,
path: '/',
method: 'GET'
};
with host: 'www.google.com' 我得到 200 的状态码。 但是对于主机:'whosebug.com' 只有当我删除 'www.' 时,我才会得到状态码 200.
遇到此问题的任何人,您应该尝试使用和不使用 'www.' 以获得正确的结果。