Форум: "Сети";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизTwebBrowser событие OnBeforeNavigate2 проблема с PostData Найти похожие ветки
← →
Secam (2002-05-26 21:38) [0]Уважаемые мастера,
Вопрос такой, В WebBrowser загружается страничка с формой для заполнения. Момент отправки формы отлавливаю по событию OnBeforeNavigate2. Преобразую OleVariant"ы в строки. URL - все нормально, Headers - нормально, а в POSTDATA одни вопросительные знаки.В watch листе написано: PostData - Variant array of Byte.
Но когда я пытаюсь обратиться к элементам массива,
вылетает сообщение об ошибке: PostData is not array.
Помогите пожалуйста, вопрос жизни и смерти !
Как преобазовать PostData в строку ?
← →
Song (2002-05-26 23:12) [1]String()
← →
Secam (2002-05-27 04:50) [2]Если бы всё было так просто, я бы не спрашивал, это не работает,
всё те же знаки вопроса. :(((
← →
int64 (2002-05-27 07:41) [3]Следующий код, по идее, с любой ссылке зайдёт на HotMail с логином
"MyUsername"
и паролем"MyPassword"
. (разумеется, если такие есть)
function Encode(const S: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(S) do
case S[i] of
" ": result := Result + "+";
"A".."Z", "a".."z", "*", "@", ".", "_", "-",
"0".."9", "$", "!", """", "(", ")":
result := Result + s[i];
else
begin
Hex := IntToHex(ord(S[i]), 2);
if Length(Hex) = 2 then Result := Result + "%" + Hex else
Result := Result + "%0" + hex;
end;
end;
end;
function StringToVarArray(const S: string): Variant;
begin
Result := Unassigned;
if S <> "" then
begin
Result := VarArrayCreate([0, Length(S) - 1], varByte);
Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
VarArrayUnlock(Result);
end;
end;
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
Url := "https://lc1.law5.hotmail.passport.com/cgi-bin/dologin";
TargetFrameName:=0;
Flags:=NavNoHistory;
headers := StringtoVarArray("Content-Type:application/x-www-form-urlencoded"#13#10);
Postdata := StringToVarArray(Encode("login=<MyUsername>&passwd=<MyPassword>"));
end;
Дерзай.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c