Однажды я внезапно подумал: не было бы замечательно, если бы каждый раз, когда я захожу на веб-сайт, я мог немедленно вызывать нужную мне информацию? Дальше мне захотелось подумать об этом поглубже, сидя в кресле с карандашом и не зная, что пишу. В этом случае мне все равно придется заниматься их кодированием.
??Мой друг открыл небольшой сайт, который изначально был разработан мной. Это хорошая платформа для проверки моих идей. Итак, я написал код и загрузил файл. Это действительно интересно, программа работает отлично, а также доказывает, что моя идея действительно хороша.
«Раньше я читал некоторые отчеты о тенденциях пользователей Интернета, и в них есть закономерность, которая меня глубоко впечатлила. Говорят, что большинство пользователей сразу покинут сайт, если не смогут найти то, что им нужно, за три клика. Мой код может решить эту проблему и гарантировать, что пользователи смогут найти цель одним щелчком мыши. В моем примере предположим, что пользователь входит в Yahoo и ищет аксессуары для камина (аксессуары для летного оборудования). В приведенных результатах, когда он зайдет на сайт моего друга, он увидит экран с такими словами, как «Вы ищете аксессуары для камина». Затем он последует подсказкам на сайте и перейдет непосредственно на нужную страницу.
??Первый шаг, который вам нужно сделать, это создать начальную переменную в файле global.asa и поместить ее в вашу программу Sub Session_onStart().
??Sub Session_onStart()
?? Реферер = Trim(Request.ServerVariables("HTTP_REFERER"))
??Если Referer="" Тогда
??Referer = "Нет"
?? Конец, если
??Session("Referer") = Referer
??End Sub
??Тогда давайте посмотрим, как выполняются основные функции программы.
??Поскольку URL-адрес закодирован, мы должны сначала восстановить указывающие данные хоста посетителя во что-то полезное для нас. Создайте страницу ASP, назовите ее decode.asp, которая является основой нашей программы. Первая функция — декодировать закодированный указательный заголовок. Процедура немного длинная и очень простая, без каких-либо хождений вокруг да около. Если она кажется вам хлопотной, вы можете также пойти на «Курс обучения интернет-червям» на сайте www.popunet.com, чтобы найти эту статью и использовать ее. Метод «копировать/вставить».
Второе, что нужно сделать в исходном коде
— это отделить часть запроса от информации заголовка URL — это то, что нам нужно.
'Отделите поля запроса от указывающего URL.
?Функция isProduct(pStr)
?? Если pStr <> "" И lCase(pStr) <> "none" Тогда
?? 'Поле поиска назад
??temp = inStrRev(pStr, "/")
?? 'Получить расположение разделения каталогов
?? tempStr = Вправо(pStr, темп)
?? 'Получить соответствующую длину данных
?? темп2 = Лен(pStr)
?? 'Получить строки данных запроса
??pStr = Mid(pStr, temp, temp2)
?? 'Установить значение возвращаемой функции
?? isProduct = pStr
??Еще
??isProduct = ""
?? Конец, если
«Конечная функция
» Следующим шагом является установление четких критериев поиска. Для достижения этой цели создайте два «указателя» статических пространств для поиска данных, на которые указывает
Function Finder (byRef prodList, byVal refList).
??'нечеткий запрос
??refList = lCase(refList)
??' Перебирать указатели, чтобы найти совпадающие поля
??Для i = 0 To uBound(prodList) - 1
??Если inStr(refList, lCase(prodList(i, 0))) Тогда
??'Найти совпадение
??tHolder = tHolder & «Вы ищете» _
??& "" _
??& prodList(i, 0) & "
??"
?? Конец, если
??'Второй цикл
??Следующий
??'возвращает результат
??Finder = функция tHolderEnd
??С помощью включения поместите подготовленный нами decode.asp на любую страницу, которой нужна эта функция, и все готово.
Подробности следующие:
'Если заголовок указателя не пуст, вызовите эту функцию. If lCase(Session("Referer")) <> "none" ИЛИ Session("Referer") <> "" Тогда' Проанализируйте указывающие данные. Response.Write vbCrLf & "
??" _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
??" & vbCrLf
?? Конец, если