Вверх ↑
Этот топик читают: Гость
Ответов: 65
Рейтинг: 2
#1: 2010-11-18 02:30:15 ЛС | профиль | цитата
Добрый вечер,подскажите возможно ли получить кукисы с посещаемого на данный момент сайта в поток?
Тоесть вывести в поток текст из окна сообщения "Сообщение с веб-страницы" при том чтоб это окно не показывалось?




Add(MainForm,2953706,196,210)
{
Width=747
Height=517
}
Add(WebBrowser,6357891,336,266)
{
Left=25
Top=34
Width=688
Height=424
URL="yandex.ru"
Silent=0
link(URL,4859107:Value,[])
}
Add(Button,3457541,280,210)
{
Left=23
Top=7
Width=97
Caption="Кукисы"
Data=String(javascript:alert("Cookies: "+document.cookie))
link(onClick,4859107:doValue,[])
}
Add(Memory,4859107,336,210)
{
link(onData,6357891:doNavigate,[(380,216)(380,251)(325,251)(325,272)])
}



карма: 1

0
файлы: 1code_21535.txt [510B] [111]
Ответов: 3349
Рейтинг: 233
#2: 2010-11-18 06:12:57 ЛС | профиль | цитата
Add(MainForm,2953706,182,175)
{
}
Add(WebBrowser,9144488,308,91)
{
Left=150
Top=30
URL="yandex.ru"
Point(PHandle)
}
Add(InlineCode,14989892,322,140)
{
VarPoints=#7:cookies|
DataPoints=#7:PHandle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|40:uses KOLSHDocVw,kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|15: wb:PControl;|9: public|21: PHandle:THI_Event;|44: procedure cookies(var dt:TData;idx:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.cookies;|5:begin|38:wb:=PControl(ReadInteger(dt,PHandle));|56:dtString(dt,PWebBrowser(wb).OleObject.Document.cookie );|4:end;|0:|4:end.|
link(PHandle,9144488:PHandle,[])
}
Add(Message,2898879,322,189)
{
link(Message,14989892:cookies,[])
}
Add(Button,11813715,259,189)
{
Left=235
Top=215
link(onClick,2898879:doMessage,[])
}


------------ Дoбавленo в 06.43:
Прямое получение, без вывода окна сообщений.
карма: 1

1
файлы: 1code_21536.txt [884B] [116]
Голосовали:geniy3dmax
Ответов: 65
Рейтинг: 2
#3: 2010-11-18 06:22:47 ЛС | профиль | цитата
Ivann,Огромное СПАСИБО
карма: 1

0
Ответов: 3349
Рейтинг: 233
#4: 2010-11-18 06:37:41 ЛС | профиль | цитата
[flood]
geniy3dmax писал(а):
Дорогу осилит идущий!

У Nic'a подпись скопировал?
[/flood]
карма: 1

0
Ответов: 893
Рейтинг: 18
#5: 2010-11-18 09:16:45 ЛС | профиль | цитата
Ivann писал(а):
Прямое получение, без вывода окна сообщений.

Интересный способ , а таким же макаром почистить куки можно ?
А также редактировать их ?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#6: 2010-11-18 10:14:58 ЛС | профиль | цитата
Byuik писал(а):
Интересный способ , а таким же макаром почистить куки можно ?
А также редактировать их ?

У меня не получилось
code_21538.txt
------------ Дoбавленo в 10.29:
Хотя, дописывает куки в конец.
------------ Дoбавленo в 10.45:
И редактировать получается, но только по одному.
карма: 1

1
файлы: 1code_21538.txt [1.4KB] [119]
Голосовали:Byuik
Ответов: 893
Рейтинг: 18
#7: 2010-11-18 11:14:52 ЛС | профиль | цитата
Ivann писал(а):
И редактировать получается, но только по одному.

Да точно дописать получается , значит остаётся удалить и записать заново.
Вот тут и загвоздка, как удалить ?
Пожет есть там чтото типа команды Clear ?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#8: 2010-11-18 11:19:10 ЛС | профиль | цитата
Byuik писал(а):
удалить и записать заново.

Перезаписать можно. В куках нет переменных с повторяющимися именами, достаточно послать имя "переменной=значение" и она перезапишится.
карма: 1

0
Ответов: 893
Рейтинг: 18
#9: 2010-11-18 11:25:35 ЛС | профиль | цитата
Да вот пробовал
yabs-frequency=/3/GJ800mG59m00/; Session_id=noauth:1290070460; yandexuid=1419465881289402903; w=none; Session_id=noauth:1290070461

Получилось две сесии
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#10: 2010-11-18 11:53:22 ЛС | профиль | цитата
Срабатывает только с куками не посланными веб сайтом.
Создай переменную с name и значением, а потом попробуй изменить.
------------ Дoбавленo в 12.10:
То есть их создает сервер и изменить нельзя.
------------ Дoбавленo в 12.24:
Получается эти значения добавляются к ответу сервера.
А сам ответ сервера менять бессмысленно.
карма: 1

0
Ответов: 893
Рейтинг: 18
#11: 2010-11-18 12:14:18 ЛС | профиль | цитата
Ivann писал(а):
А сам ответ сервера менять бессмысленно.

Приведу простой пример я с помощью программы просматриваю страницу , авторизировалса на сервере и через какое то время сессия устарела , мне надо удалить старую сессию и авторизироватся снова.
Чего твой IC не предусматривает так ето удаления куков ;)
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#12: 2010-11-18 12:16:01 ЛС | профиль | цитата
Byuik писал(а):
Чего твой IC не предусматривает так ето удаления куков ;)

Это не мой IC, a ActiveX IE, то есть там метода очистки куков я не нашел.
карма: 1

0
Ответов: 893
Рейтинг: 18
#13: 2010-11-18 12:18:47 ЛС | профиль | цитата
Да вот ещё намёк , есть пара сайтов где нельзя посещать с старыми куками иначе бан .
------------ Дoбавленo в 12.49:
Ivann писал(а):
Это не мой IC, a ActiveX IE, то есть там метода очистки куков я не нашел.

а как ты посмотрел ?


карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3349
Рейтинг: 233
#14: 2010-11-18 12:23:17 ЛС | профиль | цитата
code_21540.txt

Научил
------------ Дoбавленo в 12.54:
Byuik писал(а):
а как ты посмотрел ?

В заголовках.
карма: 1

1
файлы: 1code_21540.txt [3.4KB] [141]
Голосовали:Byuik
Ответов: 893
Рейтинг: 18
#15: 2010-11-19 00:28:54 ЛС | профиль | цитата
Ivann писал(а):
Научил

Огромное спасибо , ато приходилось всё задним числом удалять куки.
------------ Дoбавленo в 00.59:

Ivann писал(а):
Научил
возникли определённые сложности при использовании
1. после трёх нажатий Clear программа высыпается в хлам.
2. не на всех сайтах удаляет куки , особенно если на сайте жава скрипт.


Ivann,Нашол интересную инфо. по поводу удаления куков.
http://vvy.me/12-delphi-ochishhaem-cookies-v-twebbrowser.html
Как пишет автор

Второй метод очистки cookies использует функции управления кэшем IE и работает без рестарта приложения.

procedure EmptyIECache;
Var
lpEntryInfo : PInternetCacheEntryInfo;
hCacheDir : LongWord;
dwEntrySize : LongWord;
dwLastError : LongWord;
Begin
dwEntrySize := 0;
FindFirstUrlCacheEntry( NIL, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
GetMem( lpEntryInfo, dwEntrySize );
hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, dwEntrySize );
If ( hCacheDir <> 0 ) Then
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
FreeMem( lpEntryInfo );
Repeat
dwEntrySize := 0;
FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
dwLastError := GetLastError();
If ( GetLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin
GetMem( lpEntryInfo, dwEntrySize );
If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, dwEntrySize ) ) Then
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
FreeMem(lpEntryInfo);
End;
Until ( dwLastError = ERROR_NO_MORE_ITEMS );
End;


Стоит отметить, что первый параметр FindFirstUrlCacheEntry и FindNextUrlCacheEntry принимает три значения (первые два пишутся именно с двоеточием):

* cookie: – поиск только cookie,
* visited: – поиск сохраненных копий страниц,
* NULL – поиск и того и другого.


Я выбираю именно третье значение, что б убить все следы наверняка, ведь вот такой код на сайте сайт1.ру

<script src="http://сайт2.ру/script.js"></script>


Позволит нам поймать cookie не только с сайта сайт1.ру, но и с сайта сайт2.ру, что естественно может привести к нежелательным последствием.


Вот только я сам не смог запихнуть ето в IC

Кто поможет ?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)