![]() |
TIdHTTP und Javascript / Refresh
Hi,
unterstuetzt die TIdHTTP Komponente Javascript? :gruebel: Ich bekomme immer den Fehler (von der Website), dass Javascript ausgeschaltet ist. Kann man es anschalten, simulieren oder gibt es Alternative Komponenten die das unterstuetzen? //Edit: Das Problem ist, das es auf der Website einen Counter gibt, der die Sekunden runter zaehlt. (20,19,18,...) und wenn er bei 0 ist wird eine andere Website geladen, funktioniert bei dem TWebbrowser auch einwandfrei, aber mit idhttp will es nicht so ganz. Vieleicht unterstuetzt idhttp ja Javascript, aber es aktuallisiert den Sourcecode nicht. Gibt es eine Moeglichkeit den Aktuellen Sourcecode von einer Website erneut auszulesen, ohne das man die genaue URL kennt? Ich sende etwas mit .post() an die Seite und werde weitergeleitet, deswegen ist mit die genaue URL nicht bekannt. danke & ciao |
Re: TIdHTTP und Javascript / Refresh
Hi,
Zitat:
Zitat:
Grüße vom marabu |
Re: TIdHTTP und Javascript / Refresh
Danke fuer deine Antwort.
Ich habs schon mit dem TWebbrowser realisiert, noch bevor ich mir den Idhttp client angeguckt habe :lol:. Das Problem ist beim TWebBrowser ist aber, dass der Datei-Download immer von IE(TWebbrowser) ausgefuehrt wird, ich moechte das gerne manuell machen. Gibt es denn eine Moeglichkeit die download funktion des TWB durch eine eigene zuersetzten? ciao |
Re: TIdHTTP und Javascript / Refresh
Na klar.
Bei interaktivem Einsatz kannst du im Ereignis OnBeforeNavigate() dazwischenfunken. Ansonsten extrahierst du den benötigten Link und verwendest Indy zum Herunterladen. marabu |
Re: TIdHTTP und Javascript / Refresh
Zitat:
Zitat:
|
Re: TIdHTTP und Javascript / Refresh
Wenn der Download durch einen Klick auf einen Link initiiert wurde, dann kannst du im genannten event handler Cancel auf True setzen und den Download in die eigene Hand nehmen. Ich denke aber, dass du automatisch Laden möchtest, also sollten wir vielleicht lieber den Fehler auf deinem anderen Weg finden.
marabu |
Re: TIdHTTP und Javascript / Refresh
Ich denke mal das Problem ist, das die Seite checkt ob der download wirklich auch von dem "downloader" (wb, idhttp) initialisiert
wurde, und wenn nicht wird der download verweigert. Ich habe leider keine Ahnung wie eine Webseite sowas ueberpruefen koennte. Und wie man der Seite vormachen kann, das der IdHttpClient den download gestartet hat und nicht der WB. |
Re: TIdHTTP und Javascript / Refresh
Vielleicht hast du dich vorher anmelden müssen und es gibt eine session-id die versteckt mitgeführt wird - oder es wurde ein cookie gesetzt - oder es wird der Referer überprüft. Zumindest diese Fälle lassen sich mit Indy behandeln.
marabu |
Re: TIdHTTP und Javascript / Refresh
Zitat:
Kann man den referer aus einem Wb auslesen? Setzen ist ja mit idhttp kein Problem. // TWebbrowser.OleObject.Document.referrer Es gibt zwar eine sessionid, die ist aber bei jedem Klick auf den button gleich, sie aender sich nur wenn man erneut die 20 sekunden wartet. //Edit: Cookie und referrer haben damit nix zu tun. Wie kann man denn die SessionID bei dem Idhttpclient simulieren? |
Re: TIdHTTP und Javascript / Refresh
Die SessionId kann im URL oder als hidden field mitgeführt werden. Wenn du mit FireFox unterwegs bist, dann kannst du recht einfach die page info untersuchen um Hinweise zu erhalten.
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz