![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
да, надо с запросами еще разобраться, в этом ты прав
![]() |