Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > программно нажать на баннер на сайте


Автор: denks 25.4.2007, 22:23
Здравствуйте. Собственно передо мной встала следующая задача : в автоматическом режиме зайти на сайт и программно выполнить нажатие на определённый баннер. Баннер задаётся к примеру следующим кодом или другим аналогичным

<script Language="JavaScript">
document.write ('<scr' + 'ipt Language="JavaScript" src="http://test.ru/showme.php?id=9111&rnd=' + Math.random() + '"></scr' + 'ipt>');
</script>

Подскажите пожалуйста как это можно реализовать. Большое спасибо.

Автор: aktuba 26.4.2007, 02:39
Все просто  - смотришь, что в этот момент отправляет браузер, и делаешь тоже самое =)))))

Автор: denks 26.4.2007, 09:38
Если сайт уже просто открыт, то я думаю браузер не будет ничего отправлять. А  как вот именно программно найти этот баннер на странице и нажать на него (там вроде конец ссылки рандомно генерится насколько я понял). Люди помогите, если возможно с примером. Большое спасибо

Автор: aktuba 26.4.2007, 09:56


Ищи http://test.ru/showme.php?id=9111&rnd=, копируй от начала найденного до закрывающей кавычки и открываешь получившуюся ссылку в браузере. Все. =)

Автор: denks 28.4.2007, 20:34
Спасибо за совет. вроде бы получилось. Но у меня возник вопрос. Будет ли при таком способе, который реализован в этом коде, сохраняться эффект что именно с главного сайта, чей html сорс мы получаем и выдираем из него ссылку на баннер, был произведён переход на баннер. Проще говоря, необходимо чтобы сохранялся эффект нажатия на баннер именно с главного сайта а не напрямую. Вот 2 исходных кода : для баннера на форуме forum.vingrad.ru
И для моего случая - с баннером вида

<script Language="JavaScript">
document.write ('<scr' + 'ipt Language="JavaScript" src="http://test.ru/showme.php?id=9111&rnd=' + Math.random() + '"></scr' + 'ipt>');
</script>


Люди, помогите пожалуйста наконец разобраться с этим вопросом. Заранее большое спасибо !!!


------------------------Код--------------------
Код

var
site :STRING;
p1:integer;
banner:string;
k:integer;
i:integer;
begin
idhttp1.HandleRedirects:=true;
site :=idhttp1.get('http://forum.vingrad.ru');
P1 := Pos('http://validator.w3.org',site);
k:=0;
i:=0;
repeat
k:= P1+i;
i:=i+1;
until site[k] = '"';
banner := Copy(site,P1,i-1);
idhttp1.get(banner);








Код

var
site :STRING;
p1:integer;
banner:string;
k:integer;
i:integer;
begin
idhttp1.HandleRedirects:=true;
site :=idhttp1.get('http://test.ru');
P1 := Pos('http://test.ru/showme.php?id=9111&rnd=',site);
k:=0;
i:=0;
repeat
k:= P1+i;
i:=i+1;
until site[k] = '"';
banner := Copy(site,P1,i-1);
idhttp1.get(banner);

Автор: denks 29.4.2007, 13:44
Люди, кто знает ? Помогите пожалуйста !!!

Автор: aktuba 1.5.2007, 06:16
Тяжело так ответить... Тут все зависит от того, как сервер определяет переход по банеру. Смотри куки и рефера

Автор: denks 1.5.2007, 20:49
 smile 
Люди, может ещё кто-нибудь может помочь ? Очень надо. А то завтра на работу. Начальник будет не доволен.

Автор: denks 4.5.2007, 20:21
Люди, мне дали крайний срок до понедельника для решения этой проблемы. Помогите пожалуйста решить проблему !!! Заранее спасибо

Автор: aktuba 4.5.2007, 22:22
Цитата

Люди, мне дали крайний срок до понедельника для решения этой проблемы. Помогите пожалуйста решить проблему !!! Заранее спасибо


Так как ты не показываешь, какого именно сайта - могу предложить только один вариант:
1. Удаляй все куки перед заходом на банер (idCookieManager.что-то не помню, а Delphi запускать в лом...)
2. Перед idhttp1.get устанавливай рефера - idhttp1.request.refferer := адрес_где_находится_баннер

При таком подходе - 99,99% что все будет отлично.

Автор: creas0ft 16.5.2007, 22:03
Надо ходить еще и через прокси. Так не накрутить счетчик кликов. И юзерагента менять конечно.

Автор: aktuba 17.5.2007, 08:08
Цитата

Надо ходить еще и через прокси. Так не накрутить счетчик кликов. И юзерагента менять конечно.


Вряд ли помогут прокси... Насколько я знаю, на li.ru, rambler.ru, mail.ru и т.д. ежедневно обновляются списки общедоступных прокси. И соответственно заходы с этих прокси не учитываются...

Автор: creas0ft 19.5.2007, 14:56
Проблема прокси уже вторая. Сейчас купить затрояненые прокси на нестандартных портах уже не проблема. Просто его проблема, только кликом не решается, я об этом. ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)