Я пытаюсь получить содержимое HTML-страницы с приложением Node.js. Я нашел этот код: In Node.js/Express, how do I "download" a page and gets its HTML? (yojimbo ответ), который, кажется, работает хорошо. Когда я пытаюсь запустить код, я получаю результат HTML из 301 Moved Permanentently, гайка, ссылка перенаправления такая же, как и я, которую я отправил!Получение html ошибки 301, которые возвращают ту же самую ссылку
var util = require("util"),
http = require("http");
var options = {
host: "www.mylink.com",
port: 80,
path: "/folder/content.xml"
};
var content = "";
var req = http.request(options, function(res) {
res.setEncoding("utf8");
res.on("data", function (chunk) {
content += chunk;
});
res.on("end", function() {
util.log(content);
});
});
req.end();
И возвращение:
30 Jul 13:08:52 - <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<p>The document has moved <a href="http://mylink.com/folder/content.xml"<here</a>.</p>
<hr>
<adress>Apache/2.2.22 (Ubuntu) Server at www.mylink.com Port 80</adress>
</body></html>
ли он переехал на постоянное жительство в том же месте, или это просто какая-то безопасность на сервере? Или я допустил ошибку в коде? (но он работает на Google и на всех других сайтах, которые я тестировал).
Сомневаюсь, что это «.xml», который вызывает проблему, так как я даже протестировал со страницей в pdf без проблем (просто куча нечитаемых символов).
После обсуждения с клиентом, я получу страницу по-другому (загружая ее напрямую), которая работает нормально. Я все еще согласен с ответом на c.Pu.1, но мне все еще интересно, почему ссылка на перенаправление совпадает с ссылкой, к которой идет приложение.
Обратите внимание, что вы запрашиваете '/ folder/content.xml' и перенаправляете на'/folder.content.xml'. Это не тот же URL. – Nefreo
Извините, это опечатка, мне пришлось переписать сообщение с другого компьютера. – DrakaSAN