Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

[Delphi+TWebBrowser] Бинарные данные в PostData

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> [Delphi+TWebBrowser] Бинарные данные в PostData
Имя
Сообщение << Старые топики   Новые топики >>
[Delphi+TWebBrowser] Бинарные данные в PostData - 2010-08-04 14:20:14.213333   
KentOne

Сообщений: 178
Оценки: 0
Присоединился: 2008-07-15 16:30:46.030000
Хочу увидеть НЕ текстовые данные, которые WebBrowser передает серверу при отправке методом POST, для этого использую такой код:
unction Variant2Str(V:OleVariant):string; var Data:pointer; S: TMemoryStream; begin Data := VarArrayLock(V); try S := TMemoryStream.Create; try S.Write(Data^, VarArrayHighBound(V, 1) - VarArrayLowBound(V, 1) + 1); S.Position := 0; s.SaveToFile('d:\1234.txt'); finally S.Free; end; finally VarArrayUnlock(V); end; procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin Variant2Str(PostData); end;
С текстом все оки:
Захожу на любой сайт с авторизацией, заполняю поля логин/пароль, нажимаю кнопочку "войти" и вижу переданные параметры в файле 1234.txt. Паралельно смотрю, что получаю в снифере. Данные в снифере и в файле 1234.txt одинаковые.

ПРОБЛЕМА с бинарными данными: если заливаю какой либо файл методом Post, то данные в моем 1234.txt и данные снифера отличаются.

Пример: заливаю файл 1.txt с содержанием '8888888888' на upload.ua
То, что видит снифер:
-----------------------------7da69342b03d2 Content-Disposition: form-data; name="upfile"; filename="1.txt" Content-Type: text/plain 8888888888 -----------------------------7da69342b03d2 Content-Disposition: form-data; name="descr" 777 -----------------------------7da69342b03d2 Content-Disposition: form-data; name="pprotect" -----------------------------7da69342b03d2 Content-Disposition: form-data; name="regagree" on -----------------------------7da69342b03d2 Content-Disposition: form-data; name="regSubmit" .........! -----------------------------7da69342b03d2-- То, что остается в файле 1234.txt:
-----------------------------7da69342b03d2 Content-Disposition: form-data; name="upfile"; filename="1.txt" Content-Type: text/plain Т.е. пропадает содержание загруженых файлов.
Пробовал на разных ресурсах, как только доходит очередь до того места где в PostData должен быть отправляемый файл данные не сохраняются.
В чем может быть причина? Как отловить бинарные данные посланные из TWebBrowser (не снифером, а у себя в программе)?
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> [Delphi+TWebBrowser] Бинарные данные в PostData







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.