![]() |
AW: Javascript ohne TWebBrowser ausführen
Das musst du mit einer x-beliebigen Socket/HTTP-Komponente an den Webserver schicken (die Indys werden oft empfohlen). Die aufzurufende URL müsste dann z.B. so aussehen:
Code:
, also ohne irgendwelche " oder '.
http://192.168.1.2/vphone/vp-list-mailin.asp?mode=11&entry=3&nr=512&type=77&read=
|
AW: Javascript ohne TWebBrowser ausführen
Wichtig ist dabei auch, dass das Ergebnis abgefragt wird! Die
![]() BTW: gibts eigentlich keine API für diese Anlage?! Denn sobald der Hersteller der Anlage ein Update raus bringt, kann unter Umständen deine Software nicht mehr funktionieren. Mir ist schon klar, dass das mit einer API auch passieren kann, da ist aber das Risiko geringer. |
AW: Javascript ohne TWebBrowser ausführen
Zitat:
![]() |
AW: Javascript ohne TWebBrowser ausführen
Zitat:
|
AW: Javascript ohne TWebBrowser ausführen
Wieso drei? Er referenziert doch genau einen -> Anker im Link! Den mittleren halt ;)
|
AW: Javascript ohne TWebBrowser ausführen
Zitat:
Die Frage zur API muss ich dann mal an den Telefon-Menschen weiterleiten. Im Dezember soll sowieso ein Update aufgespielt werden. Folgender Code kommt zwar bis zur letzten Bedingung durch und liefert mit ein 'True' zurück. Das Fax bleibt aber beharrlich in der Anlage und nicht dort wo sie hinsollte - ins Nirvana:
Delphi-Quellcode:
Wo liegt mein Fehler?
Function DeleteItem(sURL, ItemEntry, ItemNr : String): Boolean;
Var S : String; hSession : hInternet; hConnect : hInternet; hRequest : hInternet; Begin Result:=False; hSession:=InternetOpenA('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); If (Assigned(hSession)) Then Begin hConnect:=InternetConnectA(hSession, PChar(sURL), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0); If (Assigned(hConnect)) Then Begin hRequest:=HttpOpenRequestA(hConnect, 'POST', PChar(sURL), nil, nil, nil, INTERNET_SERVICE_HTTP, 0); If (Assigned(hRequest)) Then Begin S:='http://' + sURL + '/vphone/vp-list-mailin.asp?mode=11&entry=' + ItemEntry + '&nr=' + ItemNr + '&type="77"&read= '; Result:=HttpSendRequestA(hRequest, nil, 0, Pointer(S), Length(S)); InternetCloseHandle(hRequest); End; InternetCloseHandle(hConnect); End; InternetCloseHandle(hSession); End; End; procedure TForm1.FormCreate(Sender: TObject); begin ShowMessage(BoolToStr(DeleteItem('192.168.1.2', '0', '512'), True)); end; Jetzt muss ich morgen vermutlich doch mal zum Siffer greifen und nachsehen, was exakt die Software an den Server in der Anlage sendet. Gruß, Dank & Gute Nacht, Alex |
AW: Javascript ohne TWebBrowser ausführen
Zitat:
Ich würde es mal mit synapse probieren. Da braucht auch nichts installiert werden und nach meinen Erfahrungen sehr sauber und extrem stabil. |
AW: Javascript ohne TWebBrowser ausführen
OK.
![]()
Delphi-Quellcode:
Zwar löscht er mir den Eintrag auch nicht. Aber ich bekomme eine html-Datei zurück, die mir mögliche Fehler verrät:
procedure TForm1.FormCreate(Sender: TObject);
begin With TDownloadURL.Create(self) Do Try URL:='http://192.168.1.2/vphone/vp-list-mailin.asp?mode=11&entry=0&nr=512&type="77"&read='; FileName:='Dummy.html'; Try ExecuteTarget(nil); ShowMessage('Executed OK'); Except On E : Exception Do ShowMessage(E.Message); End; Finally Free; End; end;
Code:
Wenn ich das richtig verstehe, ist mein 'POST' angekommen und der Server ist sogar noch so nett und sagt mir, wie ich die Funktion richter Weise benutzen soll. Da ich read= nirgends finden kann, bleibt mir also doch nur ein Shniffer. Oder sehe ich das falsch?
<html><body>
<h2><b>ASP Error</b></h2> vp_list_mailin(mode,entry,rnr,type,read); </body></html> Ich möchte keine anderen Komponenten verwenden (Indys eingeschlossen), wenn und soweit die Chance besteht, dass ich es mit den Bordmitteln hinbekomme. [EDIT] Habe jetzt den Traffic mal mit Live HTTP Headers mitgeschnitten und es hat den Anschein, dass die Variablen vertauscht und die Argumente andere sind. Ich muss jetzt leider warten, bis wieder ein Fax eingeht und werde es dann probieren. Bins schon ganz euphorisch! [/EDIT] Gruß, Alex |
AW: Javascript ohne TWebBrowser ausführen
Zitat:
statt
Code:
müsste es doch
entry=0&nr=512&type
Code:
lauten
entry=0&rnr=512&type
|
AW: Javascript ohne TWebBrowser ausführen
Zitat:
Code:
und
type="77"
Code:
(ohne das zusätzliche r), während es die Funktion umgekehrt und mit r will. Vielleicht eine Falle für Leute, die eine Software für die Anlagen schreiben wollen :lol: Wie auch immer.
nr=512
Es funktioniert jetzt über die URL
Code:
Danke für Eure Hilfe. Ich fasse mal zusammen:
http://192.168.1.2/vphone/vp-list-mailin.asp?mode=11&entry=0&rnr=77&type=512&read=
1. Man kann ein 'POST' ziemlich einfach über TDownloadURL absetzen und damit eine Javascript-Funktion ausführen lassen. 2. Oben steht, wie es insbesondere bei einer OpenCom X320 geht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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