Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2008, 22:08   #1
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
Радость Нашёл код не поможете доработать его

var
LoginDialog: TLoginDialog;
Flags, TargetFrameName, PostData, Headers: OleVariant;
S: String;

...
with TLoginDialog.Create(Application) do
try
if ShowModal = mrOk then
begin
S := Format(‘UserName=%s&Password=%s’, _
[Edit1.Text, Edit2.Text]);
PostData := VarArrayCreate([1, _
Length(S) + 1], varByte);
System.Move(S[1], VarArrayLock(PostData)^, _
Length(S) + 1);
VarArrayUnlock(PostData);
Headers :=
‘Content-Type: application/x-www-form-urlencoded’#10#13;
WebBrowser1.Navigate(‘http://intranetserver/secretpage’, Flags,
TargetFrameName, PostData, Headers);
end;
finally
Free;
end;
eldar вне форума Ответить с цитированием
Старый 27.08.2008, 08:46   #2
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
По умолчанию

Да понял ступил ну попробуем так
на форму кидаеться кнопка и WebBrowser1
и ещё edit1 и edit2
Когда пишешь edit1 и edit2 логин и пароль
и нажимаешь кнопку то должен отправиться
post запрос
eldar вне форума Ответить с цитированием
Старый 27.08.2008, 08:53   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
eldar
Доработать до чего? Хотя в принципе для начала убери подчерки в концах некоторых строк.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2008, 12:24   #4
eldar
Форумчанин
 
Аватар для eldar
 
Регистрация: 04.08.2008
Сообщений: 154
Хорошо

Да нет в коде я разобрался
у меня просто проблема была с cookie использовал indy 9
но почему то idCookieManager не принимал и не передовал cookie Почему незнаю
ну тогда стал искать другой способ и нашёл вот этот:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
Flags, TargetFrameName, PostData, Headers: OleVariant;

s:string;


begin


S := Format('login=fdser&password=wq1234 &button.x=27&button.y=8',
[Edit1.Text, Edit2.Text]);
PostData := VarArrayCreate([1,
Length(S) + 1], varByte);
System.Move(S[1], VarArrayLock(PostData)^,
Length(S) + 1);
VarArrayUnlock(PostData);

WebBrowser1.Navigate('http://www.ipweb.ru/cgi-bin/auth.cgi',Flags,
TargetFrameName, PostData, Headers);
end;




end.

там WebBrowser1 сам передаёт кукисы
eldar вне форума Ответить с цитированием
Старый 28.09.2008, 21:55   #5
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

var formlevariant;
f,i:Integer;
begin

for f:=0 to WebBrowser1.OleObject.Document.form s.Length-1 do begin
form:=WebBrowser1.OleObject.Documen t.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.form s.Length-1 do begin
form:=WebBrowser1.OleObject.Documen t.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;

это должно помочь
jone вне форума Ответить с цитированием
Старый 12.06.2009, 04:58   #6
Rukatekime
Новичок
Джуниор
 
Регистрация: 12.06.2009
Сообщений: 1
По умолчанию

А где находится TLoginDialog? Все панели перерыл - ненашел (((
Rukatekime вне форума Ответить с цитированием
Старый 24.01.2010, 21:27   #7
saha
Пользователь
 
Регистрация: 12.05.2008
Сообщений: 13
По умолчанию

у меня на formlevariant ругается что с ним делать?
saha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите Пожалуйста доработать тест!!! dimi_87 Помощь студентам 4 23.07.2008 02:07
Поможете на экзамене? Cyberbest Помощь студентам 3 04.06.2008 05:16
Помогите доработать и понять проблему в Grid nimf БД в Delphi 1 30.08.2007 18:02
доработать кусочек программы Алёна Помощь студентам 1 21.05.2007 13:07