Сейчас в Интернете существует множество популярных программ-воров, в том числе похититель новостей, похититель музыки и похититель загрузок. Итак, как они это делают? Надеюсь, это будет полезно всем веб-мастерам.
(1) Принцип
Программа-вор фактически вызывает веб-страницы на других веб-сайтах через компонент XMLHTTP в XML. Например, многие программы-воры новостей обращаются к новостным веб-страницам Sina и делают на них некоторые замены HTML, а также фильтруют рекламу. Преимущества использования программы Thief: нет необходимости поддерживать веб-сайт, поскольку данные в программе Thief поступают с других веб-сайтов, и они будут обновляться по мере обновления веб-сайта, что позволяет экономить ресурсы сервера; В программе Thief всего несколько файлов, а весь веб-контент взят с других веб-сайтов. Недостатками являются: нестабильность: если целевой веб-сайт пойдет не так, программа также будет работать неправильно, а если целевой веб-сайт обновляется и поддерживается, скорость программы-вора также необходимо будет соответствующим образом изменить, поскольку это удаленный вызов; скорость такая же быстрая, как чтение данных на локальном сервере. Это определенно медленнее.
(2) Примеры
Ниже приводится краткое объяснение применения XMLHTTP в ASP
<%
«Общие функции
» 1. Введите URL-адрес целевой веб-страницы, а возвращаемое значение getHTTPPage — это HTML-код целевой веб-страницы.
функция getHTTPage (url)
dimHttp
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET", URL, false
HTTP.send()
если Http.readystate<>4, то
функция выхода
конец, если
getHTTPPage = bytesToBSTR(Http.responseBody, "GB2312")
установить http=ничего
если номер ошибки<>0, то err.Clear
end function
'2. Преобразование Ranma. Непосредственно используйте xmlhttp для вызова веб-страниц с китайскими иероглифами. Вы можете преобразовать его через компонент adodb.stream.
Функция BytesToBstr(body,Cset)
тусклый объектный поток
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Открыть
objstream.Напишите тело
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
установить objstream = ничего
Конечная функция
'Попробуйте вызвать html-содержимое http://www.3doing.com/earticle/
Тусклый URL-адрес, HTML
URL=" http://www.3doing.com/earticle/ "
Html = getHTTPPage(URL-адрес)
Response.write HTML
%>