Chvalov
@Chvalov

Как передать POST запрос через idhttp сайту который загрузился в WebBrowser1 в Delphi ?

Здравствуйте, как передать post запрос на сайт который загрузился в WebBrowser1 без перезагрузки страницы !
Есть код:
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Doc:IHTMLDocument2;
S:string;
begin
while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
begin
while WebBrowser1.Busy do Application.ProcessMessages;
end;
Doc:= WebBrowser1.Document as IHTMLDocument2;
s:=doc.body.innerHTML;
Memo1.Text:=s;
end;
Button1 - Загружает сайт
Button2 - Выводит его исходник с выполненным js скриптом где я могу увидеть что мне нужно отправить post запросом

Как мне сделать чтобы при нажатии на Button3 отправляло post запрос из моих edit-ов на сайт который загружен в WebBrowser с помощью idhttp ?
  • Вопрос задан
  • 3360 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AlexP11223
Никак, IdHttp и WebBrowser не знают ничего друг о друге.

Можно попробовать взять Cookies оттуда и использовать их для запроса в IdHttp (на WebBrowser это никак не повлияет).

Либо в WebBrowser нажимать (программно, с помощью его методов и/или выполнения JavaScript) нужные кнопки на сайте и т.п., которые выполнят нужные действия. Либо с помощью AJAX сделать запрос в нем самом.

Либо вообще не использовать WebBrowser изначально, а разобраться что делает этот JS код и делать тоже самое.

while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
begin
while WebBrowser1.Busy do Application.ProcessMessages;
end;

Зачем так сурово блокировать UI поток? Там же есть событие завершения загрузки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы