Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.06.2012, 15:23
azaznio azaznio вне форума
Прохожий
 
Регистрация: 11.06.2010
Сообщения: 12
Репутация: 10
Радость HTTP javascript

Всем привет. Проблема заключается в следующем:

Я хочу получить код страницы с сайта, но в ответ получаю HTML сообщение с текстом This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.

Что в переводе означает: Этот сайт требует чтобы JavaScript и Cookies были включены. Пожалуйста, измените настройки Вашего браузера или обновите браузер.

Я, конечно, понимаю, что можно использовать встроенный webbrowser или еще какой нибудь, но большой скоростью работы они не отличаются, поэтому я мечусь в поисках своего "Супер IdHTTP", который бы мог так же быстро работать и необязательно выполнять код javaskript.

Если у вас есть предложения как обойти это злосчатное сообщение, то прошу сильно не таить.

Заранее ОГРОМНОЕ СПАСИБО.
Ответить с цитированием
  #2  
Старый 11.06.2012, 18:48
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

не стоит оно того
Ответить с цитированием
  #3  
Старый 11.06.2012, 21:49
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если код JavaScript выполнять не обязательно, то достаточно сделать поддержку cookies. Только вот часть страницы может как раз этим скриптом и строиться. Более того, скрипт может еще и в отдельном файле лежать...
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
azaznio (13.06.2012)
  #4  
Старый 13.06.2012, 15:36
azaznio azaznio вне форума
Прохожий
 
Регистрация: 11.06.2010
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Если код JavaScript выполнять не обязательно, то достаточно сделать поддержку cookies. Только вот часть страницы может как раз этим скриптом и строиться. Более того, скрипт может еще и в отдельном файле лежать...

Подскажите, пожалуйста, как мне загрузить исходник страницы и обойти это сообщение через idhttp. Что мне сделать с JavaSkript? Просто я ни разу не сталкивался с работой javaskript. Сайт: offgamers. com. Заранее спасибо.

Последний раз редактировалось azaznio, 13.06.2012 в 15:43.
Ответить с цитированием
  #5  
Старый 13.06.2012, 16:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

запрос возвращает:
Цитата:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function setCookie(c_name, value, expiredays)
{ var exdate = new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/";
}
function getHostUri()
{ var loc = document.location;
return loc.toString();
}
setCookie('**********', '**.**.**.**', 10);
setCookie('DOAReferrer', document.referrer, 10);
location.href = getHostUri();
</script>
</head>
<body>
<noscript>
This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.
</noscript>
</body>
</html>
можно легко вручную вычислить значение location.href
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 14.06.2012, 11:08
azaznio azaznio вне форума
Прохожий
 
Регистрация: 11.06.2010
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
запрос возвращает:

можно легко вручную вычислить значение location.href

Извините, я просто не совсем понимаю. Мне нужно куки подменить или еще что? Можно пример кода, который мог бы мне объяснить что и как. С веб-программированием особо не сталкивался, так что не знаю как вычислить этот location.href.
Ответить с цитированием
  #7  
Старый 14.06.2012, 14:04
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

ой, да, очепятался, нужно получить значение document.cookie. в первый раз его можно вытащить из ответа, строка:
Цитата:
setCookie('абракадабра', 'Ваш IP', 10);
ну и потом:
Цитата:
IdHTTP1.Request.CustomHeaders.Add('Cookie: абракадабра=Ваш IP; DOAReferrer=');
IdHTTP1.Request.Referer:='http://www.offgamers.com/';
IdHTTP1.Get('http://www.offgamers.com/');
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025