![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Пишу программу для автоматической загрузки файлов на сайт. Практически все уже готово, но никак не могу разобраться с авторизацией на сайте. Через браузер авторизация проходит таким скриптом:
Код HTML:
|
#2
|
|||
|
|||
![]() например чтобы авторизоваться вконтакте нужно:
vkontakte.ru/login.php?email=ВашЭмэйл&pass=Ваш пароль&HTTP/1.0 все зависит от сайта (пхп, хтмл и др.) и от защиты... p.s. кажись понял.. тут запрос надо устроить... Последний раз редактировалось ApplicatiOn, 18.11.2008 в 16:35. |
#3
|
|||
|
|||
![]() может допустил ошибки..
javascript:{var password = document.getElementById('pass') return check_pass(); }" p.s. это яваскрипт.... |
#4
|
|||
|
|||
![]() Эт java. Уже пытался запрос сделать, пока безрезультатно.
|
#5
|
|||
|
|||
![]() Может тут надо этот пароль куда то отослать?
|
#6
|
|||
|
|||
![]() да надо, надо подумать
![]() ![]() |
#7
|
|||
|
|||
![]() нагуглил какой-то пример..
Код:
Var Sock : TClientSocket; Stream : TWinSocketStream; S, Stmp : String; Begin Sock.ClientType := ctBlocking; Stream := TWinSocketStream.Create(Sock.Socket,60000); Sock.Host := 'www.example.com'; Sock.Port := 80; Sock.Open; S := 'GET / HTTP/1.0'#13#10+ // Готовим запрос 'Host: www.example.com'#13#10+ 'Cookie: name1=value1; name2=value2; name3=value3'#13#10+ 'Connection: Close'#13#10#13#10; Sock.Socket.SendBuf(S[1],Length(S)); // Отправляем запрос S := ''; While True do Begin If Stream.WaitForData(50) then // Ждем очередной пакет Begin L := ClientSocket.Socket.ReceiveLength; If L=0 then // Дисконнект Begin Break; // Значит все данные приняты... прервать цикл End; SetLength(Stmp,L); // Готовим буфер для нового пакета Sock.Socket.ReciveBuf(Stmp[1],L); // Получаем очередные данные S := S + Stmp; // И добавляем их к уже полученным End; // И обрабатываем переменную S End; ещё один: Код:
var formlevariant; f,i:Integer; begin for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements; for i:=0 to form.Length-1 do if form.item(i).name='username' then // посматри в исходнике страницы может не username а просто name или login form.item(i).value:='Логин' else if form.item(i).name='password' then // password обычно так пишится бывает pass form.item(i).value:='пороль'; Button9.Click; end; end; procedure TForm1.Button9Click(Sender: TObject); var formlevariant; f,i:Integer; begin for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements; for i:=0 to form.Length-1 do if (form.item(i).type='submit') and (form.item(i).value='Войти') then form.item(i).click; // submit это кнопка 'Войти' это название кнопки end;end; ![]() последний пример авторизации с TWebBrowser |
#8
|
|||
|
|||
![]() Спасибо!
![]() Но пока я даже толком не могу понять в каком виде запрос должен быть сформирован. ![]() |
#9
|
|||
|
|||
![]() да, надо с запросами еще разобраться, в этом ты прав
![]() |