|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.02.2013, 23:01 | #1 |
Форумчанин
Регистрация: 21.02.2013
Сообщений: 105
|
Автроризация через делфи
Добрый вечер,уважаемые программисты.
Вот у меня возникла такая проблема. Есть сайт на котором только два поля(логин и пароль),больше ничего нет. Как мне через делфи авторизоваться на нем? Знаю ,что как кто через idhttp,а как хз( Вот код этих окон: <div class="login"> <table width="300" border="0"> <tr> <td>Вход</td> </tr> <tr> <td><form method="post" action=""> <label> <input type="text" name="login_name" id="login_name" plaсeholder="логин"/> </label> </td> </tr> <tr> <td> <label> <input type="password" name="login_password" id="login_password" /> </label> </td> </tr> <tr> <td> <label> <input name="login" id="login" type="hidden" value="submit" /> <input onclick="submit();" name="button" type="submit" id="button" value="Вход" /> </label> </form></td> </tr> </table> </div> Заранее спасибо) |
22.02.2013, 10:20 | #2 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
Код:
|
22.02.2013, 22:08 | #3 |
Форумчанин
Регистрация: 21.02.2013
Сообщений: 105
|
сделал так,программа запустилась,но при нажатии на кнопку открылся html код страницы (
А как бы еще сделать ,что бы если вход удался то вывести сообщение об этом? procedure TForm1.Button1Click(Sender: TObject); var LoginInfo: TStringList; Response: TStringStream; begin try LoginInfo := TStringList.Create; Response := TStringStream.Create(''); LoginInfo.Add('login_name=edit1.tex t'); LoginInfo.Add('login_password=edit2 .text'); LoginInfo.Add('login='); IdHTTP1.Post('http://мойсайт/', LoginInfo, Response); Showmessage(Response.DataString); finally begin Response.Free; LoginInfo.Free; end; end; end; Заранее спасибо) |
22.02.2013, 22:27 | #4 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Цитата:
Showmessage(Response.DataString); - показывает код, который пришел от сайта. Вы должны просмотреть код пришедшей страницы (для удобства сохраните код Response.SaveToFile('code.html'); и откройте его в блокноте) и решить, какая строка однозначно характеризует, что пользователь авторизовался. С помощью функции pos проверить наличие этой строки в Response.DataString и вывести соответствующее сообщение.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 22.02.2013 в 22:32. |
|
22.02.2013, 22:33 | #5 |
Форумчанин
Регистрация: 21.02.2013
Сообщений: 105
|
блин(
Ничего не понял( а можно код если Вам не сложно? |
22.02.2013, 23:19 | #6 | |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
Цитата:
Только просматривать тело документа несколько затратно. Проще будет узнать ответ сервера (проверить можно снифером). Как правило при успешной авторизации указывается код ответа примерно 302 или 303 (в общем их куча и универсальной проверки для авторизации нет - для каждого сайта своя структура ответа). Либо в заголовке ответа просмотреть редирект. Ну либо в куках найти что-то идентифицирующее успешность авторизации. develsnik, исправь, пожалуйста, строчку Код:
Код:
|
|
22.02.2013, 23:40 | #7 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Цитата:
Так что, develsnik, никакого кода написать не могу. Учитесь пользоваться сниффером (мне нравится Charles + Chrome, но можете выбрать какой угодно сниффер).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
23.02.2013, 11:48 | #8 |
Форумчанин
Регистрация: 21.02.2013
Сообщений: 105
|
это как плагин к хрому идет?
|
23.02.2013, 11:55 | #9 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
|
23.02.2013, 12:09 | #10 |
Форумчанин
Регистрация: 21.02.2013
Сообщений: 105
|
так,скачал,запустил, авторизовался на сайте,и на что именно смотреть в программе?
Status Complete Response Code 302 Found Protocol HTTP/1.1 Method GET Content-Type text/html; charset=windows-1251 Client Address /127.0.0.1 Remote Address - Timing Request Start Time 23.02.13 12:04:15 Request End Time 23.02.13 12:04:15 Response Start Time 23.02.13 12:04:15 Response End Time 23.02.13 12:04:15 Duration 0 ms Request Duration 0 ms Response Duration 0 ms Latency 0 ms Speed ∞ KB/s Response Speed ∞ KB/s Size Request Header Size 564 bytes Response Header Size 334 bytes Request Size - Response Size 296 bytes Total Size 1,17 KB (1194 bytes) Request Compression - Response Compression - |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос о запуске через делфи. | Jleksern | Общие вопросы Delphi | 7 | 16.11.2012 00:14 |
подключение к MsSql через делфи | Олька Жи | Помощь студентам | 2 | 29.05.2012 14:46 |
Открытие файла через делфи | Vitalya_1993 | Помощь студентам | 0 | 18.12.2011 13:48 |
Создание рисунка в фотошопе через делфи | ramzes777 | Мультимедиа в Delphi | 6 | 01.10.2011 21:06 |
юникод в блокнот через делфи | Алёна | Общие вопросы Delphi | 2 | 19.11.2010 08:55 |