Or you can use memory streams to load
uses OleCtrls, SHDocVw, IdHTTP, ActiveX; function PostRequest(const AURL: string; const AParams: TStringList; const AWebBrowser: TWebBrowser): Boolean; var IdHTTP: TIdHTTP; Response: TMemoryStream; begin Result := True; try AWebBrowser.Navigate('about:blank'); while AWebBrowser.ReadyState < READYSTATE_COMPLETE do Application.ProcessMessages; Response := TMemoryStream.Create; try IdHTTP := TIdHTTP.Create(nil); try IdHTTP.Post(AURL, AParams, Response); if Response.Size > 0 then begin Response.Position := 0; (AWebBrowser.Document as IPersistStreamInit).Load( TStreamAdapter.Create(Response, soReference)); end; finally IdHTTP.Free; end; finally Response.Free; end; except Result := False; end; end; procedure TForm1.Button1Click(Sender: TObject); var Params: TStringList; begin Params := TStringList.Create; try Params.Add('q=test'); if not PostRequest('http://www.bing.com/', Params, WebBrowser1) then ShowMessage('An unexpected error occured!'); finally Params.Free; end; end;
TLama source share