Http 请求在 Node.JS 中不起作用?
Http requests not working in Node.JS?
我现在很困惑。我已经尝试了所有方法,但仍然无法正常工作。基本上,我正在尝试获取网站的 HTML,但它仅适用于 Google。这是我的代码:
const HttpClient = {
get: function(url, callback) {
var str = '';
var req = http.get(url, function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
callback(str);
});
}).on;
return true
}
}
HttpClient.get('http://www.google.com/index.html', (data) => {
console.log(data);
});
你可以看到我提供的URL是google.com。这是我发现的唯一 URL 实际上 return 的东西。将 URL 替换为任何其他内容将使它不再 return 任何内容。
有人知道为什么会这样吗?
单击蓝色 'Run code snippet' 按钮并检查错误消息。
{
"message": "Uncaught ReferenceError: http is not defined",
"filename": "https://stacksnippets.net/js",
"lineno": 23,
"colno": 11
}
您需要确保您需要节点的 http 模块。
我能够使用您的确切代码(尽管使用不同 url)并在需要 http 模块后成功发出 GET 请求。
已更新为使用 https:
const https = require('https')
const HttpClient = {
get: function(url, callback) {
var str = '';
var req = https.get(url, function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
callback(str);
});
})
return true
}
}
HttpClient.get('https://www.youtube.com/watch?v=oRvwlX3ihRg', (data) => {
console.log(data)
}, (error) => {
console.log(error)
});
我现在很困惑。我已经尝试了所有方法,但仍然无法正常工作。基本上,我正在尝试获取网站的 HTML,但它仅适用于 Google。这是我的代码:
const HttpClient = {
get: function(url, callback) {
var str = '';
var req = http.get(url, function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
callback(str);
});
}).on;
return true
}
}
HttpClient.get('http://www.google.com/index.html', (data) => {
console.log(data);
});
你可以看到我提供的URL是google.com。这是我发现的唯一 URL 实际上 return 的东西。将 URL 替换为任何其他内容将使它不再 return 任何内容。
有人知道为什么会这样吗?
单击蓝色 'Run code snippet' 按钮并检查错误消息。
{ "message": "Uncaught ReferenceError: http is not defined", "filename": "https://stacksnippets.net/js", "lineno": 23, "colno": 11 }
您需要确保您需要节点的 http 模块。
我能够使用您的确切代码(尽管使用不同 url)并在需要 http 模块后成功发出 GET 请求。
已更新为使用 https:
const https = require('https')
const HttpClient = {
get: function(url, callback) {
var str = '';
var req = https.get(url, function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
callback(str);
});
})
return true
}
}
HttpClient.get('https://www.youtube.com/watch?v=oRvwlX3ihRg', (data) => {
console.log(data)
}, (error) => {
console.log(error)
});