Как получить HTML-код веб-страницы по URL-адресу

Так что этот вопрос мысль был бы непростым. Однако после целого часа поиска документации по JavaScript и node js и других вопросов на этом сайте я нашел только то, что связано с той же политикой происхождения.

Я хочу сделать простой запрос по URL-адресу и прочитать его html / исходный код. Это делается для запроса вики и возврата верхней ссылки из результатов поиска. Я могу справиться с html самостоятельно, но я совершенно ошеломлен относительно того, как получить html. Я знаю, как это очень легко сделать с сокетом Lua в одной строке, именно так я и сделал это при создании Twitch-бота, но теперь, когда я адаптирую его к разногласиям, я кодирую его на JavaScript, и я не так хорошо разбирается в JavaScript.

Кто-нибудь знает, как это сделать?

Мой текущий код:

function SearchWiki(query) {
    console.info("I was called, I guess")
    var options = {
        path: encodeURI(query),
        method: "GET"
    }
    var request = http.request("http://pm-challenge.wikia.com/wiki/Special:Search?search = ", options, function (res) {
        var data = '';
        res.on('data', function (chunk) {
            data += chunk;
        });
        res.on('end', function () {
            console.info(data);  
        });
    });
    request.on('error', function (e) {
        console.info(e.message);
    });
    request.end();
}
stackoverflow.com/questions/6287297/…
Adam H 05.09.2018 21:34

Если вы хотите иметь возможность запрашивать его из браузера, это действительно будет зависеть от ваших требований. В современном Chrome вы можете использовать fetch с опциями no-cors. Если вам необходимо поддерживать много типов браузеров, лучшим вариантом будет создание конечной точки для прокси-запроса. Тогда вы можете вернуть все, что захотите, и вам не придется иметь дело с браузерами.

Austio 05.09.2018 21:37

Посмотрев на эти ссылки, спасибо, ребята, скоро напишу.

warspyking 05.09.2018 21:37

@Austio - вопрос помечен как node.js, и браузеры не упоминаются. Даже если бы вопрос был о браузерах, если бы использовалась опция no-cors, то он не смог бы прочитать ответ! В этом суть no-cors (молча терпеть неудачу в том, для чего требуется разрешение CORS, вместо того, чтобы выдавать ошибку).

Quentin 05.09.2018 21:39

@AdamH Когда я использую код в ответе на этот вопрос, я получаю следующий результат: Moved to <a href = "http://pm-challenge.wikia.com/wiki/Special:Search?sear‌​ch = ">http://pm-chall‌​enge.wikia.com/wiki/‌​Special:Search?searc‌​h=</a>

warspyking 05.09.2018 21:41

Похоже, у вас есть код 301 (перемещен), попробуйте использовать URL-адрес, который они предлагают.

Adam H 05.09.2018 21:42

@AdamH Понятно. Хорошо, я изменил свой URL-адрес и просто сделал путь в параметрах поисковым запросом. Моя проблема сейчас - это 400 неверных запросов. Как мне это исправить?

warspyking 05.09.2018 21:46

@warspyking - У нас нет возможности узнать, какой запрос вы отправляете или какой сервер, на который вы отправляете запрос, считает плохим.

Quentin 05.09.2018 21:46

@warspyking исправить запрос?

Adam H 05.09.2018 21:47

Я отредактировал код в своем вопросе @AdamH

warspyking 05.09.2018 21:48

Скорее всего, вы запрашиваете параметр, попробуйте использовать encodeURI ()

Adam H 05.09.2018 21:50

@AdamH Та же проблема

warspyking 05.09.2018 21:52

Что в параметре запроса?

Adam H 05.09.2018 22:19

@AdamH "pre-hooktail %% 20pit"

warspyking 05.09.2018 22:23

Взгляните сюда, чтобы увидеть, что вы делаете не так с параметрами и передачей URL: nodejs.org/api/http.html#http_http_request_options_callback

Adam H 05.09.2018 22:30

Позвольте нам продолжить обсуждение в чате.

warspyking 05.09.2018 22:33

функция обратного вызова запроса принимает 3 параметра. Третий параметр - это тело HTML. npmjs.com/package/request

Astrydax 13.09.2018 18:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
17
764
0

Другие вопросы по теме