Hallo,
ich habe ein Script, welches seit Jahren auf Windows 10 läuft. Ich muss es jetzt aber irgendwie unter Windows Server 2019 zum Laufen bringen. Das (erste) Problem befindet sich in dieser Funktion
Spoiler anzeigen
Code
Func Abfragen()
Local $sServerName, $sPaket, $sPOST, $hConnect, $hSession, $aTestString
$hSession = _WinHttpOpen('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0')
;host
$sServerName = 'leanv.zks-abfall.de'
$hConnect = _WinHttpConnect($hSession, $sServerName)
_WinHttpSetTimeouts($hConnect, 10000, 60000, 120000, 120000)
;(1)Aufruf der Seite: https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?BTN-initRegistration=start (GET)
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'GET', '/LaenderEANV_Web/registrierung?BTN-initRegistration=start')
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
;(2)rechts oben auf Anmelden klicken (GET)
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'GET', '/LaenderEANV_Web/registrierung?action=displaylogin', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?BTN-initRegistration=start')
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
;(3)Benutzername und Passwort senden (POST)
;~ ConsoleWrite("Benutername in der ZKS_Abfrage ist: " & $sBenutzerName & " mit dem Passwort: " & $sPasswort & @CRLF)
$sPOST = 'action=login&uname=' & $sBenutzerName & '&password=' & $sPasswort & '&login=login'
;~ ConsoleWrite("$sPOST ist: " & $sPOST & @CRLF)
$sPaket = ""
ConsoleWrite("STOP" & @CRLF)
Exit
While $sPaket = "" ;Entweder auf "0" = Zeichen oder 0 = Zahl prüfen
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'POST', '/LaenderEANV_Web/registrierung', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?action=displaylogin', $sPOST)
WEnd
;~ $sPaket = _WinHttpSimpleSSLRequest($hConnect, 'POST', '/LaenderEANV_Web/registrierung', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?action=displaylogin', $sPOST)
_FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
;(4)Unter Menü Registrierung/Stammdatenpflege auf Registrierung/Stammdaten klicken (GET)
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'GET', 'LaenderEANV_Web/registrierung?BTN-initRegistration=start', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung')
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
;(5)Auf die große blaue Schaltfläche Registrierung/Stammdatenpflege klicken (POST)
$sPOST = 'BTN-auswahl=Registrierung / Stammdatenpflege'
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'POST', '/LaenderEANV_Web/stammdaten', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?BTN-initRegistration=start', $sPOST)
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
;(6)Auf den Radio Button Baden-Württemberg klicken
$sPOST = 'chooseBL=H&ok=Übernehmen'
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'POST', 'LaenderEANV_Web/stammdaten?action=auswahl', 'https://leanv.zks-abfall.de/LaenderEANV_Web/stammdaten', $sPOST)
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
ClipPut("") ; Zwischenablage zur Vorsicht einmal leeren
Sleep(500)
ClipPut($sPaket) ; Zwischenablage mit Quellcode befüllen
Sleep(500)
_FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
Sleep(500)
;(7)rechts oben auf Abmelden klicken (GET)
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'GET', '/LaenderEANV_Web/registrierung?action=logout', 'https://leanv.zks-abfall.de/LaenderEANV_Web/stammdaten?BTN-main=Stammdaten')
;~ _FileWrite($sPaket) ; schreibe eine Kontroll HTML Datei
_WinHttpCloseHandle($hConnect) ; die Handles werden beendet
_WinHttpCloseHandle($hSession) ; die Handles werden beendet
PARSEN_Dokumentenname() ; mit der befüllten Zwischenablage wird an die Funktion PARSEN_Dokumentenname() übergeben.
EndFunc ;==>ZKS_Abfragen
Alles anzeigen
Ich habe die beiden Zeilen
immer weiter im Code versetzt, bis ich keine STOP Meldung mehr bekommen habe. Der Windows Server hat wohl mit diesem Aufruf ein Problem
Code
While $sPaket = "" ;Entweder auf "0" = Zeichen oder 0 = Zahl prüfen
$sPaket = _WinHttpSimpleSSLRequest($hConnect, 'POST', '/LaenderEANV_Web/registrierung', 'https://leanv.zks-abfall.de/LaenderEANV_Web/registrierung?action=displaylogin', $sPOST)
WEnd
Wo liegt hier der Unterschied zwischen Windows 10 und Windows Server?
Gruß Code4Fun