Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как определить программно залогинился ли я на каком либо сайте   Найти похожие ветки 

 
Muh   (2008-08-18 13:07) [0]

Суть в следующем.
Программе надо понять, залогинился я допустим на этом сайте или нет..и если залогинился, то надо скачать определенный файл.
Раньше я пользовался процедурой, приведенной ниже, но программа понимала только, когда я логинился в Internet Explorer, если же я логинился в остальных прога не понимала... а с приходом Vista теперь и в Эксплорере не понимает :(
подскажите, что можно сделать..
надеюсь изложил понятно, спасибо

function DownloadFile(const FileURL, FileName: String): Cardinal;
var
 hSession, hFile: HInternet;
 Buffer: array[1..1024] of Byte;
 BufferLen, fSize: LongWord;
 f: File;
begin
 Result := 0;
 hSession := InternetOpen("STEROID Download",
                          INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if Assigned(hSession) then begin
   hFile := InternetOpenURL(hSession, PChar(FileURL), nil, 0,
                            INTERNET_FLAG_RELOAD, 0);
   if Assigned(hFile) then begin
     AssignFile(f, FileName);
     Rewrite(f,1);
     fSize := 0;
     repeat
       InternetReadFile(hFile, @Buffer, SizeOf(Buffer), BufferLen);
       BlockWrite(f, Buffer, BufferLen);
       fSize := fSize + BufferLen;
     until (BufferLen = 0);
     CloseFile(f);
     Result := fSize;
     InternetCloseHandle(hFile);
   end else begin
       MessageDlg("Не могу скачать файл! Проверьте соединение с Internet", mtCustom,[mbYes], 1);
       Form1.Close;
   end;
   InternetCloseHandle(hSession);
 end
end;


 
Muh   (2008-08-18 13:11) [1]

короче главноая суть впринципе в том, что бы скачать файл..но его можно скачать, если только залогиниллся на определенном сайте..


 
clickmaker ©   (2008-08-18 15:07) [2]

InternetConnect()?


 
Muh   (2008-08-18 15:13) [3]

а по конкретнее пожалуйста...
а то я не очень хороший программер)


 
Rouse_ ©   (2008-08-18 16:00) [4]

В приведенной тобой функции нет ни намека на какой либо логин на удаленный ресурс. Или ты подразумеваешь: залогинился = соединился?


 
DiamondShark ©   (2008-08-18 16:18) [5]

Удалено модератором
Примечание: Еще раз и по русски...


 
Muh   (2008-08-18 17:21) [6]

ну как бы я вхожу на сайт..и авторизируюсь..после этого запускаю программу..и с помощью этой функцией можно скачивать файл.. то есть как я понял пароль и логин берется берется из кукисов ..я плохо к сожалению в этом разбираюсь.
но к сожалению только, если я до этого логинился в эксплорере..с другими браузерами такое не работает


 
grisme ©   (2008-08-18 17:51) [7]

дык, другие браузеры свои кукисы хранят в отличном, от осла, месте.


 
Muh   (2008-08-18 18:03) [8]

ну вот в этом и проблема..ранее был один недостаток.. не получалось использовать программу с отличными от экплорера браузерами. А теперь с появлением Висты... и в эксплорере не работает эта функция..
подскажие как еще можно файл скачать?


 
DiamondShark ©   (2008-08-19 15:49) [9]


> подскажие как еще можно файл скачать?

Эмулировать действия браузера, вестимо.
Сначала послать данные формы, запомнить куки (т.е. сделать то, что делает браузер, когда ты "логинишся"), потом послать запрос на файл.


 
Muh   (2008-08-19 16:33) [10]

как это сделать, подскажите, пожалуйста


 
clickmaker ©   (2008-08-19 16:44) [11]

> [10] Muh   (19.08.08 16:33)

[2]


 
Muh   (2008-08-19 16:45) [12]

Удалено модератором
Примечание: Создание пустых сообщений


 
Muh   (2008-08-20 05:51) [13]

Удалено модератором
Примечание: Создание пустых сообщений


 
Muh   (2008-08-20 15:47) [14]

каких пустых? народ, реальна помощь нужна


 
Dennis I. Komarov ©   (2008-08-20 17:06) [15]

> [14] Muh   (20.08.08 15:47)

Справку или MDSN уже проштудировал?


 
Muh   (2008-08-20 18:24) [16]

что такое mdsn я не знаю..по справке ничего не нашел :(


 
blackman ©   (2008-08-20 20:31) [17]

Как програмно ввести логин и пароль и перейти на следующую страницу
http://articles.org.ru/cn/showdetail.php?cid=6277
И посмотри остальное
Delphi/Pascal » Интернет, сети
http://articles.org.ru/cn/?c=27


 
Muh   (2008-08-20 21:23) [18]

спасибо
но в этом примере надо знать логин и пароль..а хотелось бы чтобы без ввода ..чтобы все было автоматически..


 
Muh   (2008-08-20 21:57) [19]

нет, блин, ничего нет(


 
Cobalt   (2008-08-21 08:06) [20]

Посмотри компонент TWebBrowser, он, если не ошибаюсь, содержит IE, т.е. использует указанные в нем логин/пароль


 
Cobalt   (2008-08-21 08:10) [21]

Или смотри в сторону плагинов к IE/Netscape, последние кажется даже в Опере и Мозилле поддерживаются.


 
Dennis I. Komarov ©   (2008-08-21 09:21) [22]

> [16] Muh   (20.08.08 18:24)

help -> Windows SDK
OR
http://msdn.microsoft.com/

PS Там очипятался немного...


 
Muh   (2008-08-22 14:22) [23]

блин, ничего не почается


 
Muh   (2008-08-25 00:37) [24]

надо разобраться с кукисами..но чего то не получается


 
Muh   (2008-08-26 17:50) [25]

да блин..очень помогли


 
Rouse_ ©   (2008-08-26 18:04) [26]


> надо разобраться с кукисами..

Не разберешься ты с ними, т.к. это обычный текстовый файл и каждый разработчик форума/сайта хранит в нем только одному ему известную информацию. Никакого стандарта как такового на куки нет.


 
clickmaker ©   (2008-08-26 18:09) [27]

так, а InternetConnect() все же не помог?


 
Dennis I. Komarov ©   (2008-08-26 18:47) [28]

> [27] clickmaker ©   (26.08.08 18:09)

А он смотрел? Он кода ждет...


 
Muh   (2008-08-27 00:54) [29]

зачем же так ..я не только кода жду..я и сам смотрел..но мне не хватает знаний к сожалению :(


 
Dennis I. Komarov ©   (2008-08-27 09:52) [30]

> [29] Muh   (27.08.08 00:54)

Чего смотрел, как применял полученые знания, т.е. какие попытки были...
За тебя тут никто твой код писать не будет, поэтому переходи к практическим занятиям с конкретными проблемами


 
DiamondShark ©   (2008-08-27 16:29) [31]


> Muh   (27.08.08 00:54) [29]
> зачем же так ..я не только кода жду..я и сам смотрел..но
> мне не хватает знаний к сожалению :(

Тогда рассказывай подробнее о проблеме.
Можешь начать с описания того, что ты понимаешь под "залогинился на сайте".


 
Muh   (2008-08-28 02:00) [32]

ну описание простое..допустим есть сайт..на котором неавторизируемые пользователи не могут качать файлы..для того чтобы скачать файл..надо ввести логин и пароль..и тогда файл будет доступен.
так вот в программе я хочу это реализовать, чтобы с помощью нее можно было скачать файл...прога должна понять..что я уже авторизован на сайте..допустим до этого я ввел пароль с логином в мозиле..и нажал кнопочку сохранить..


 
DiamondShark ©   (2008-08-29 13:04) [33]


> надо ввести логин и пароль..

Куда ввести-то?

Если это стандартная http аутентификация, то см. clickmaker ©   (18.08.08 15:07) [2]

Если это формочка на сайте, то тут общего метода нет, анализируй код страницы авторизации и эмулируй действия браузера -- посылка данных формы, получение ответа, куки.


 
Muh   (2008-08-31 07:07) [34]

пароль надо ввести на сайте обычная авторизация..но это надо делать не программно...я заранее введу их..а прога должна понять это далее...
очень легко у вас получается говорит..анализируй эмулируй..если б я еще чего нибудь понимал..как это делать)


 
Dennis I. Komarov ©   (2008-08-31 12:30) [35]

Это что же у тебя получается...
Живет юзер, логинится на "своем" каком-то сайте и т.д. и т.п.
Ты, подсунул ему свою прогу, и качаешь под его аккаунтом? :)
Так дело не пойдет.....

А кто вообще мешает проводить аунтификацию из своей проги? И куки чужие можно отправить лесом...


 
Muh   (2008-08-31 17:32) [36]

я подсунул прогу? чего за бред? я ему дал прогу!! разные вещи мне кажется... он качает файл, который предоставляется сайтом лично ему...так как он раньше логинился на этом сайте прога должна понять..и скачать ему этотй файл.
аутификация из проги это плохо..меня как раз будут подозревать в краже паролей !!


 
Медвежонок Пятачок ©   (2008-09-01 12:34) [37]

Бред какой-то.
"Определить залогинился ли я"
Файл качается - залогинился. Не качается - не залогинился.
Либо вообще аккаунт протух, хотя ты и залогинился вчера и кук у тебя есть.


 
Muh   (2008-09-01 13:13) [38]

нет не бред..ранее все получалось, но только в эксплорере..я логинился в эксплорере..и прога понимала, что я залогинен и качала файл...а в висте щас такого не происходит..с куками что то другое (


 
Медвежонок Пятачок ©   (2008-09-01 13:52) [39]

именно с куками. единственный способ другой проге использовать авторизацию, выполненную ие. Ну если не считать телепатию.


 
DiamondShark ©   (2008-09-02 12:46) [40]


> ранее все получалось, но только в эксплорере..я логинился
> в эксплорере..и прога понимала, что я залогинен и качала
> файл...

Это была дырка в безопасности WinInet. Теперь её залатали. Смирись.

Для тебя остаётся два пути:
1. логин из программы.
Плюсы: независимость от браузеров. Минусы: дополнительные телодвижения пользователя.
2. оформить программу как плагин к браузеру.
Плюсы: удобство пользователя. Минусы: зависимость от браузера, много сложного кода.



Страницы: 1 2 вся ветка

Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.062 c
2-1268982904
M@G30
2010-03-19 10:15
2010.08.27
Как хранить данные в TreeNode?


2-1270538489
istok
2010-04-06 11:21
2010.08.27
TTimer в Delphi2010


2-1273602560
novichek
2010-05-11 22:29
2010.08.27
TCPClient вторая посылка не проходит


2-1267530370
Fr
2010-03-02 14:46
2010.08.27
компоненты в run-time


2-1272244377
Ваше имя
2010-04-26 05:12
2010.08.27
Нужен максимально быстрый и оптимизированый код чт/записи в файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский