Modul Web: Unterschied zwischen den Versionen

Aus bafbal.de
Zur Navigation springen Zur Suche springen
Zeile 256: Zeile 256:
  
 
'''Parameter'''
 
'''Parameter'''
# cy -  
+
 
 +
# acc - Akzeptierte Response-Formate
 +
# cy - Content-Typ der Anfrage
 +
# f_ - Prefix für Header-Einträge, zum Beispiel für die Authorisierung; Funktionen werden ersetzt
 +
# request - Text der Anfrage bei post und put; Funktionen werden ersetzt
 
# response - Nummer des Values oder Name der Variable, in die bzw. den das Ergebnis geschrieben wird
 
# response - Nummer des Values oder Name der Variable, in die bzw. den das Ergebnis geschrieben wird
 
# se ("show error") - Wenn Y, wird im Fehlerfall die Fehlermeldung in einer Meldungsbox eingesetzt. Funtkionen werden ersetzt. Sollte im Server-Betrieb auf N gesetzt werden.
 
# se ("show error") - Wenn Y, wird im Fehlerfall die Fehlermeldung in einer Meldungsbox eingesetzt. Funtkionen werden ersetzt. Sollte im Server-Betrieb auf N gesetzt werden.
Zeile 276: Zeile 280:
 
   
 
   
 
  #code  f_Authorization="Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 
  #code  f_Authorization="Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  #http_request  y=post    cy="application/json"  request=$TEXT(1)  response=1  se=Y  url=https://xxxxx.net/sore/printall  $CODE$
+
#code  url=https://xxxxx.net/sore/printall 
 +
  #http_request  y=post    cy="application/json"  request=$TEXT(1)  response=1  se=Y  acc=application/json    $CODE$
 
  #cout  c=$VAL(1)
 
  #cout  c=$VAL(1)

Version vom 17. Februar 2022, 18:12 Uhr

E-Mail

Das BAF-Framework kann E-Mails (über einen Mailserver) versenden, auch mit Anhängen, auch mit TLS.

Siehe Beispiel E-Mail versenden

#email_init

Setzt die Parameter zur Verbindung mit dem Mail-Server.

Parameter

  • host - Hostname des Mailservers; Funktionen werden ersetzt.
  • pw ("PassWord") - Password des Users auf dem Mailserver; Funktionen werden ersetzt.
  • pwc ("PassWordCrypted") - Wenn Y, dann ist das Passwort mit der Verschlüsselungsfunktion auf der Seite Tools des Code-Dialogs verschlüsselt. Hinweis: Mit dieser Verschlüsselung verhindert man lediglich, dass das Passwort direkt aus dem Code ausgelesen werden kann. Wird der BAF-Client mit dem Delphi-Debugger ausgeführt, lässt sich leicht an die betreffende Stelle ein Breakpoint setzen und das Passwort dann im Klartext auslesen (dieselbe Unit uBafCrypt vorausgesetzt).
  • tls - Transport Layer Security; default itls
    • aetls - Allow Explicit TLS
    • dtls - Disable TLS
    • itls - Implicit TLS
    • retls - Require Explicit TLS
  • usr ("user") - User auf dem Mailserver; Funktionen werden ersetzt.

Beispiele

#email_init   host=mailhost.my   usr=myusername   pw=mypassword
#email_init   host=mailhost.my   usr=myusername   pwc=Y   pw=333w6t7wqDClip4eB02wrE=

siehe auch E-Mail versenden

#email_send

Versendet eine E-Mail.

Parameter

  • bcc ("blind carbon copy") - E-Mail-Adresse(n), die als zusätzliche verdeckte Empfänger eingetragen wird; Funktionen werden ersetzt.
  • cc ("carbon copy") - E-Mail-Adresse(n), die als zusätzliche Empfänger eingetragen wird; Funktionen werden ersetzt.
  • cnt ("count") - Anzahl der Anhänge
  • fn1, fn2... ("FileName") - Dateinamen der Dateien, die als Anhang mitgeschickt werden sollen.
  • from - E-Mail-Adresse, die als Absender eingetragen wird; Funktionen werden ersetzt.
  • reply - E-Mail-Adresse(n), die als Antwort-Adresse eingetragen wird; Funktionen werden ersetzt.
  • subject - Betreff der E-Mail
  • text - Text des Mail-Bodys; Funktionen werden ersetzt.
  • to - E-Mail-Adresse(n), die als Empfänger eingetragen wird; Funktionen werden ersetzt.

Hinweis: Sollen bei einem Parameter mehrere E-Mail-Adressen angegeben werden, so sind diese durch Semikola zu trennen, siehe Beispiel (to).

Beispiel

#email_send   from=test@host.my   to=info@adr1.de;info@adr3.de   bcc=info@adr2.de   subject=Testmail   text=$TEXT(1) 

siehe auch E-Mail versenden

#email_disconnect

Trennt die Verbindung zum Mailserver. Sollte nach dem Versenden der E-Mail (beim Versenden mehrerer E-Mails nach dem Versenden der letzten E-Mail) aufgerufen werden.

Parameter

(keine)

Beispiel

siehe E-Mail versenden

FTP / SFTP

Die Befehle für die Verbindung zu FTP- und SFTP-Server gleichen sich weitgehend, so dass sie gemeinsam besprochen werden.

#ftp_connect/#sftp_connect

Stellt die Verbindung zu einem FTP-Server her.

Parameter

  • host - Hostname des Servers; Funktionen werden ersetzt.
  • pw ("PassWord") - Password des Users auf dem Server; Funktionen werden ersetzt.
  • pwc ("PassWordCrypted") - Wenn Y, dann ist das Passwort mit der Verschlüsselungsfunktion auf der Seite Tools des Code-Dialogs verschlüsselt. Hinweis: Mit dieser Verschlüsselung verhindert man lediglich, dass das Passwort direkt aus dem Code ausgelesen werden kann. Wird der BAF-Client mit dem Delphi-Debugger ausgeführt, lässt sich leicht an die betreffende Stelle ein Breakpoint setzen und das Passwort dann im Klartext auslesen (dieselbe Unit uBafCrypt vorausgesetzt).
  • usr ("user") - User auf dem Server; Funktionen werden ersetzt.


Beispiele

#ftp_connect   host=w0012345.kasserver.com   usr=w0012345   pw=cWLS12345NhVEcll
#sftp_connect   host=w0012345.kasserver.com   usr=w0012345   pw=cWLS12345NhVEcll

#ftp_disconnect/#sftp_disconnect

Trennt die Verbindung zum FTP-Server. Sollte dann als letzte Prozedur aufgerufen werden.

Parameter

(keine)

Beispiele

#ftp_connect   host=w0012345.kasserver.com   usr=w0012345   pw=cWLS12345NhVEcll
#ftp_upload   src=c:\temp\test.csv   dst=test.csv
#ftp_disconnect

#sftp_connect   host=w0012345.kasserver.com   usr=w0012345   pw=cWLS12345NhVEcll
#sftp_upload   src=c:\temp\test.csv   dst=test.csv
#sftp_disconnect

#ftp_download/#sftp_download

Lädt eine Datei vom Server herunter

Parameter

  • dst ("destination") - Dateiname auf dem lokalen Rechner; Funktionen werden ersetzt
  • ie ("is empty") - Wenn Y, dann wird die Datei nur auf den lokalen Rechner herunter geladen, wenn sie dort noch nicht vorhanden ist
  • src ("source") - Dateiname auf dem Server; Funktionen werden ersetzt

Beispiel

#ftp_connect   host=w0012345.kasserver.com   usr=w0012345   pw=cWLS12345NhVEcll
#ftp_download   src=test.pdf   dst=c:\temp\hallo.pdf
#ftp_disconnect

#ftp_upload/#sftp_upload

Lädt eine Datei auf den Server hoch

Parameter

  • dst ("destination") - Dateiname auf dem Server; Funktionen werden ersetzt
  • ie ("is empty") - Wenn Y, dann wird die Datei nur auf den Server hoch geladen, wenn sie dort noch nicht vorhanden ist
  • src ("source") - Dateiname auf dem lokalen Rechner; Funktionen werden ersetzt

Beispiel

#ftp_upload   src=c:\temp\test.csv   dst=test.csv

#ftp_rename/#sftp_rename

Benennt eine Datei auf dem Server um.

Parameter

  • dest ("destination") - Neuer Name der Datei
  • src ("source") - Bestehender Name der Datei

Beispiel

#ftp_rename   src=test.csv   dst=hallo.csv

#ftp_delete/#sftp_delete

Löscht eine Datei auf dem Server

Parameter

  • fn ("FileName") - Dateiname der Datei, die gelöscht werden soll.

Beispiel

#ftp_delete   fn=hallo.csv

#ftp_mkdir/#sftp_mkdir

Legt ein Verzeichnis auf dem Server an ("make directory").

Parameter

  • n ("name") - Name des neuen Verzeichnisses

Beispiel

#ftp_mkdir   n=testdir

#ftp_remdir/#sftp_remdir

Entfernt ein Verzeichnis auf dem Server ("remove directory").

Parameter

  • n ("Name") - Name des Verzeichnisses


Beispiel

#ftp_remdir   n=testdir

#ftp_chgdir

Ändert das aktuelle Verzeichnis ("change directory").

Hinweis: Diese Prozedur ist für SFTP nicht verfügbar.

Parameter

  • n ("name") - Name des neuen Verzeichnisses

Beispiel

#ftp_chgdir   n=testdir

$FTP_SIZE()/$SFTP_SIZE()

Ermittelt die Größe einer Datei auf dem Server in Bytes.

Parameter

  1. Name der Datei

Beispiel

#coutl $FTP_SIZE(test.pdf) Bytes

$FTP_LIST() /$SFTP_LIST()

Erzeugt eine Liste von Dateien im aktuellen Verzeichnis.

Parameter

  1. Pfad-Angabe; kann sich auf Verzeichnisse beziehen, jedoch auch auf die Dateinamen (z.B. *.pdf)
  2. Wenn det oder details, dann wird eine Liste mit erweiterten Datei-Informationen (Größe, UNIX-mode,...) geliefert.

Bitte beachten Sie, dass derzeit nur Verzeichnis-Namen im Pfad zulässig sind, sofern erweiterte Datei-Informationen angefordert werden.

Ausgabeformate

Bitte beachten Sie, dass sich die Ausgabeformate von $FTP_LIST() und $SFTP_LIST() unterscheiden:

Beispiel $FTP_LIST()

.
..
test.csv
XL2KeyServer.exe

Beispiel $SFTP_LIST()

test.csv
XL2KeyServer.exe

Beispiel $FTP_LIST(,det)

-r-xr-xrwx   1 owner    group              39 Jan 22 08:51      test.csv
-r-xr-xrwx   1 owner    group         3757056 Jan 21 19:33      XL2KeyServer.exe

Beispiel $SFTP_LIST(,det)

-rw-rw-rw   1     root     root        39 Jan 22 08:51 test.csv
-rw-rw-rw   1     root     root   3757056 Jan 21 20:33 XL2KeyServer.exe

Beispiele

#coutl $FTP_LIST() 
#coutl $FTP_LIST(*.pdf) 
#coutl $FTP_LIST(,det) 
#coutl $FTP_LIST(usage,det)

Web

#http_request

Setzt einen http- oder https-Request ab und schreibt ggf. das Ergebnis in eine Variable oder einen Value. Diese Prozedur eignet sich auch für REST-Aufrufe.

Parameter

  1. acc - Akzeptierte Response-Formate
  2. cy - Content-Typ der Anfrage
  3. f_ - Prefix für Header-Einträge, zum Beispiel für die Authorisierung; Funktionen werden ersetzt
  4. request - Text der Anfrage bei post und put; Funktionen werden ersetzt
  5. response - Nummer des Values oder Name der Variable, in die bzw. den das Ergebnis geschrieben wird
  6. se ("show error") - Wenn Y, wird im Fehlerfall die Fehlermeldung in einer Meldungsbox eingesetzt. Funtkionen werden ersetzt. Sollte im Server-Betrieb auf N gesetzt werden.
  7. url - Webadresse des aufgerufenen Services; Funktionen werden ersetzt
  8. wait - Zeit in Millisekunden, die auf die Antwort gewartet wird; Funktionen werden ersetzt; default 1000
  9. y - Typ
    1. delete
    2. get
    3. post
    4. put


Beispiel

#text_clear 
#text {
#text     "userId": 1
#text }

#code   f_Authorization="Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#code   url=https://xxxxx.net/sore/printall  
#http_request   y=post    cy="application/json"   request=$TEXT(1)   response=1   se=Y   acc=application/json     $CODE$
#cout   c=$VAL(1)