Initial commit – AufmaßCreater v2.35
This commit is contained in:
@@ -0,0 +1,833 @@
|
||||
|
||||
;~ #include <Array.au3>
|
||||
;~ #include <Debug.au3>
|
||||
|
||||
; COM-Fehler anzeigen
|
||||
Global $oMyError = ObjEvent("AutoIt.Error", "_ComErrFunc")
|
||||
Global $g_iReqCounter = 0 ; Zähler für 01.header.txt, 01.response.txt, ...
|
||||
Global $sUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
|
||||
Global $sEVHOST = "https://evergabe.telekom.de"
|
||||
Global $sPfadIni = @ScriptDir & "\daten\conf.ini"
|
||||
|
||||
;~ $sUsername = "fkramer_kpt" ;IniRead($sPfadIni, "EVergabe", "Benutzer", "xxx")
|
||||
;~ $sPasswort = "Kpfk99LixCkpt!" ;IniRead($sPfadIni, "EVergabe", "Passwort", "xxx")
|
||||
|
||||
;~ $sRetrunLogin = _EV_Lobin_obj($sUsername, $sPasswort)
|
||||
;~ If $sRetrunLogin = "True" Then
|
||||
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
|
||||
;~ _Write_to_Console("Login Erfolgreich")
|
||||
;~ $sSMnr = "211293040"
|
||||
;~
|
||||
;~ $aSMDeatails = _EV_Search_SM_obj($oHttp, $sSMnr)
|
||||
;~ _DebugArrayDisplay($aSMDeatails)
|
||||
;~ _Write_to_Console($sHTML)
|
||||
;~ Else
|
||||
;~ _Write_to_Console("Login Fehler!!!")
|
||||
;~
|
||||
;~ EndIf
|
||||
|
||||
;test SM 208878700
|
||||
|
||||
Func _EV_Lobin_obj($sUsername, $sPasswort)
|
||||
Global $oHttp = _HttpCreate()
|
||||
Local $sHtml = _HttpGet($oHttp, $sEVHOST & "/public/login")
|
||||
|
||||
Local $sCsrfField = ""
|
||||
Local $sCsrfValue = _ExtractCsrf($sHtml, $sCsrfField)
|
||||
|
||||
; 3. Cookies zu Debugzwecken
|
||||
Local $sSetCookie = $oHttp.GetResponseHeader("Set-Cookie")
|
||||
ConsoleWrite("+ Set-Cookie: " & $sSetCookie & @CRLF)
|
||||
|
||||
Local $sBody = _
|
||||
"LoginForm[username]=" & _UrlEncode_obj($sUsername) & _
|
||||
"&LoginForm[password]=" & _UrlEncode_obj($sPasswort) & _
|
||||
"&" & $sCsrfField & "=" & _UrlEncode_obj($sCsrfValue)
|
||||
|
||||
_Write_to_Console($sBody)
|
||||
|
||||
;~ MsgBox(64, "", "")
|
||||
|
||||
$oHttp = _HttpPost($oHttp, $sEVHOST & "/public/login", $sBody)
|
||||
|
||||
Local $iStatus = $oHttp.Status
|
||||
Local $sResp = $oHttp.ResponseText
|
||||
|
||||
If $iStatus <> 302 And StringInStr($sResp, "Logout") = 0 Then
|
||||
ConsoleWrite("! Login fehlgeschlagen, HTTP " & $iStatus & @CRLF)
|
||||
Return "False"
|
||||
Else
|
||||
Return "True"
|
||||
EndIf
|
||||
|
||||
|
||||
EndFunc ;==>_EV_Lobin_obj
|
||||
|
||||
Func _EV_Search_SM_obj($oHttp, $sSMnr)
|
||||
If Not IsObj($oHttp) Then
|
||||
MsgBox(16, "Fehler", "_EV_Search_SM: HTTP-Objekt ist ungültig.")
|
||||
Return ""
|
||||
EndIf
|
||||
|
||||
; hier wird DEINE _HttpGet()-Funktion genutzt
|
||||
Local $sHtml = _HttpGet($oHttp, $sEVHOST & "/framework-agreement-call?OrderRecallSearch%5Bhead_line%5D=" & $sSMnr & "&OrderRecallSearch%5Bdocument_no%5D=&OrderRecallSearch%5Bincoming_date%5D=&OrderRecallSearch%5Border_date%5D=&OrderRecallSearch%5Bgeneral_agreement_id%5D=&OrderRecallSearch%5Bdocument_state%5D=-1", "https://www.evergabe.telekom.de/framework-agreement-call")
|
||||
_Write_to_Console("Suche SM-Nr: | " & $sSMnr)
|
||||
|
||||
; optional: kurze Ausgabe, ob Nummer in der Seite vorkommt
|
||||
If StringInStr($sHtml, $sSMnr) > 0 Then
|
||||
_Write_to_Console("+ _EV_Search_SM: Treffer für " & $sSMnr & " gefunden." & @CRLF)
|
||||
$aTitle = _EV_Abrufliste_GET_Title_obj($sHtml)
|
||||
$aBedarfnr = _EV_Abrufliste_GET_Bedarfnr_obj($sHtml) ;SMnr
|
||||
$aBelegEinDatum = _EV_Abrufliste_GET_Belegeingang_obj($sHtml) ;Eingang E-Vergabe
|
||||
$aBelegnr = _EV_Abrufliste_GET_Belegnr_obj($sHtml) ;42Nr
|
||||
$aAusfuehrungsfrist = _EV_Abrufliste_GET_Ausfuehrungsfrist_obj($sHtml) ;Ausführungsfrist
|
||||
$aDetailID = _EV_Abrufliste_GET_DetailsID_obj($sHtml) ;DetailsID intern für E-Vergabe
|
||||
$aRV = _EV_Abrufliste_GET_RV_obj($sHtml) ;Rahmenvertrag
|
||||
$aStatus = _EV_Abrufliste_GET_Status_obj($sHtml) ;Status Angenommen Abgelehnt usw.
|
||||
Dim $aReturn[UBound($aTitle)][8]
|
||||
;~ _DebugArrayDisplay($aReturn)
|
||||
|
||||
For $i = 0 To UBound($aTitle) - 1
|
||||
$aReturn[$i][0] = $aTitle[$i]
|
||||
$aReturn[$i][1] = $aBedarfnr[$i]
|
||||
$aReturn[$i][2] = $aBelegnr[$i]
|
||||
$aReturn[$i][3] = $aDetailID[$i]
|
||||
$aReturn[$i][4] = $aRV[$i]
|
||||
$aReturn[$i][5] = $aBelegEinDatum[$i]
|
||||
$aReturn[$i][6] = $aAusfuehrungsfrist[$i]
|
||||
$aReturn[$i][7] = $aStatus[$i]
|
||||
|
||||
Next
|
||||
;~ _DebugArrayDisplay($aReturn)
|
||||
Return $aReturn
|
||||
Else
|
||||
_Write_to_Console("! _EV_Search_SM: Kein Treffer für " & $sSMnr & " gefunden." & @CRLF)
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Search_SM_obj
|
||||
|
||||
Func _EV_Hole_Kopfdaten_obj()
|
||||
$sUsername = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
|
||||
$sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
|
||||
|
||||
$sRetrunLogin = _EV_Lobin_obj($sUsername, $sPasswort)
|
||||
If $sRetrunLogin = "True" Then
|
||||
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
|
||||
_Write_to_Console("Login Erfolgreich")
|
||||
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
|
||||
If $sSMnr = "" Then
|
||||
_Write_to_Console("keine SMnr im Feld Kopfdaten")
|
||||
Else
|
||||
$aSMDeatails = _EV_Search_SM_obj($oHttp, $sSMnr)
|
||||
;~ _DebugArrayDisplay($aSMDeatails)
|
||||
;~ Row|Col 0|Col 1|Col 2|Col 3|Col 4|Col 5|Col 6|Col 7
|
||||
;~ Row 0|Bahnhofstr. 16-18 78224 Singen SM 209173009|209173009|4213308114|19487501|4650014601|30.01.2025|17.05.2025|Angenommen
|
||||
|
||||
If UBound($aSMDeatails) > 1 Then
|
||||
|
||||
;~ ConsoleWrite(UBound($aArrayList) & @CRLF)
|
||||
$sDetailsID = _create_Gui_Ausw($aSMDeatails)
|
||||
;~ MsgBox(64, "123124", $sDetailsID)
|
||||
|
||||
$aAspadetails = _EV_Aspa_obj($sDetailsID)
|
||||
;~ _DebugArrayDisplay($aAspadetails)
|
||||
GUICtrlSetData($kopf_TAB_txt_aspa, $aAspadetails[0])
|
||||
GUICtrlSetData($kopf_TAB_txt_telnr, $aAspadetails[2])
|
||||
GUICtrlSetData($kopf_TAB_txt_detailsID, $sDetailsID)
|
||||
_Write_to_Console("hole Kopfdaten erledigt.")
|
||||
Else
|
||||
$aAspadetails = _EV_Aspa_obj($aSMDeatails[0][3])
|
||||
;~ _DebugArrayDisplay($aAspadetails)
|
||||
GUICtrlSetData($kopf_TAB_txt_aspa, $aAspadetails[0])
|
||||
GUICtrlSetData($kopf_TAB_txt_abrufnr, $aSMDeatails[0][2])
|
||||
GUICtrlSetData($kopf_TAB_datum_start, $aSMDeatails[0][5])
|
||||
GUICtrlSetData($kopf_TAB_txt_datum_ende, $aSMDeatails[0][6])
|
||||
GUICtrlSetData($kopf_TAB_txt_detailsID, $aSMDeatails[0][3])
|
||||
GUICtrlSetData($kopf_TAB_txt_telnr, $aAspadetails[2])
|
||||
_Write_to_Console("hole Kopfdaten erledigt.")
|
||||
|
||||
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
Else
|
||||
_Write_to_Console("Login Fehler!!!")
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
|
||||
;~ _EV_Logout()
|
||||
EndFunc ;==>_EV_Hole_Kopfdaten_obj
|
||||
|
||||
Func _EV_Pos_eintragen_obj($aInhalt)
|
||||
|
||||
$sDatum = GUICtrlRead($kopf_tab_txt_datum)
|
||||
$sBaustelle = GUICtrlRead($kopf_tab_txt_baustelle)
|
||||
$sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt)
|
||||
$sAbrufNR = GUICtrlRead($kopf_tab_txt_abrufnr)
|
||||
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
|
||||
$sVertrag = GUICtrlRead($kopf_tab_chb_vertrag)
|
||||
$sStartDatum = GUICtrlRead($kopf_tab_datum_start)
|
||||
$sEndDatum = GUICtrlRead($kopf_tab_txt_datum_ende)
|
||||
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Datum", $sDatum)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", $sBaustelle)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", $sBauabschnitt)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "AbrufNr", $sAbrufNR)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Vertrag", $sVertrag)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", $sStartDatum)
|
||||
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", $sEndDatum)
|
||||
|
||||
$sUsername = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
|
||||
$sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
|
||||
|
||||
$sRetrunLogin = _EV_Lobin_obj($sUsername, $sPasswort)
|
||||
If $sRetrunLogin = "True" Then
|
||||
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
|
||||
_Write_to_Console("Login Erfolgreich")
|
||||
|
||||
Global $sDetailsID
|
||||
$sSMnr = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", "")
|
||||
|
||||
If IsArray($aInhalt) Then
|
||||
_Write_to_Console("Suche SM-Nr: | " & $sSMnr)
|
||||
$aArrayList = _EV_Search_SM_obj($oHttp, $sSMnr)
|
||||
;~ _DebugArrayDisplay($aArrayList)
|
||||
If UBound($aArrayList) > 1 Then
|
||||
$sDetailsID = _create_Gui_Ausw($aArrayList)
|
||||
Else
|
||||
$sDetailsID = $aArrayList[0][3]
|
||||
EndIf
|
||||
_Write_to_Console("DetailsID: " & $sDetailsID)
|
||||
_Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", ""))
|
||||
;~ $sHtml = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/")
|
||||
Local $sHtml = _HttpGet($oHttp, $sEVHOST & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/framework-agreement-call")
|
||||
|
||||
If Not StringInStr($sHtml, 'LERF nicht möglich') Then
|
||||
;LEB anlegen
|
||||
;~ $sHtml = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
|
||||
$sHtml = _HttpGet($oHttp, $sEVHOST & "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
|
||||
;~ $sHtml = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
|
||||
$sHtml = _HttpGet($oHttp, $sEVHOST & "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
|
||||
;~ $sCSRF = _EV_GET_CSRF($sHtml)
|
||||
|
||||
;~ Local $sCSRF = "False"
|
||||
Local $sCsrfField = ""
|
||||
Local $sCsrfValue = _ExtractCsrf($sHtml, $sCsrfField)
|
||||
|
||||
$sLeist_zeitv = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", "")
|
||||
$sLeist_zeitb = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", "")
|
||||
; mit UrlEncode
|
||||
$sLeistungsort1 = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "")
|
||||
If StringLen($sLeistungsort1) >= 25 Then
|
||||
$sLeistungsortso = $sLeistungsort1
|
||||
$sLeistungsort1 = StringMid($sLeistungsort1, 1, 25)
|
||||
Else
|
||||
$sLeistungsortso = $sLeistungsort1
|
||||
EndIf
|
||||
$sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen
|
||||
$sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx")
|
||||
If StringLen($sSachbearbeiter) >= 12 Then
|
||||
$sSachbearbeiter_temp = $sSachbearbeiter
|
||||
$sSachbearbeiter = StringMid($sSachbearbeiter_temp, 1, 12)
|
||||
;~ $sSachbearbeiter = $sSachbearbeiter_temp
|
||||
EndIf
|
||||
$sBauabschnitt = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "")
|
||||
|
||||
If StringLen($sBauabschnitt) >= 40 Then
|
||||
$sBauabschnitt = StringMid($sBauabschnitt, 1, 39)
|
||||
EndIf
|
||||
$sBauabschnitt = _URIEncode($sBauabschnitt)
|
||||
|
||||
$sKurztext = "SM " ; max 40 Zeichen
|
||||
$sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr)
|
||||
If StringLen($sKurztext) >= 40 Then
|
||||
$sKurztext = StringMid($sKurztext, 1, 39)
|
||||
EndIf
|
||||
$sKurztext = _URIEncode($sKurztext)
|
||||
; mit UrlEncode
|
||||
$s_SMnrINi = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr)
|
||||
$sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $s_SMnrINi & @CRLF & GUICtrlRead($tab_plan_ed_SListe)
|
||||
;~ $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $sSMnr; alt
|
||||
$sLangtext = _URIEncode($sLangtext)
|
||||
|
||||
Sleep(1000)
|
||||
;~ MsgBox(64, "Langtext", $sLangtext)
|
||||
$sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF & "Upgrade-Insecure-Requests: 1" & @CRLF & "Sec-Fetch-Dest: document" & @CRLF & "Sec-Fetch-Mode: navigate" & @CRLF & "Sec-Fetch-Site: same-origin" & @CRLF & "Sec-Fetch-User: ?1" & @CRLF
|
||||
|
||||
If GUICtrlRead($kopf_TAB_rd_teilauf) = $GUI_CHECKED Then
|
||||
$sPost = "_csrf=" & $sCsrfValue & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
|
||||
EndIf
|
||||
|
||||
If GUICtrlRead($kopf_TAB_rd_schluss) = $GUI_CHECKED Then
|
||||
$sPost = "_csrf=" & $sCsrfValue & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=X&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
|
||||
Else
|
||||
$sPost = "_csrf=" & $sCsrfValue & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
|
||||
EndIf
|
||||
;weiter bei EVergabe.au3 in Zeile 386
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&iid=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&iid=" & $sDetailsID, $sPost, $sHeader, True)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet/create-sheet?c=1&iid=" & $sDetailsID, $sPost, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&iid=" & $sDetailsID)
|
||||
$sRespBody = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
$aSheetID = StringRegExp($sRespBody, 'sheetId=(.*)">Kopfdaten', 3)
|
||||
;~ _DebugArrayDisplay($aSheetID)
|
||||
If IsArray($aSheetID) Then
|
||||
Global $iSheetID = $aSheetID[0]
|
||||
For $i = 0 To UBound($aInhalt) - 1
|
||||
$sHtml = _HttpGet($oHttp, $sEVHOST & "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
|
||||
$sPositionNr = $aInhalt[$i][1]
|
||||
Local $sCsrfField = ""
|
||||
Local $sCsrfValue = _ExtractCsrf($sHtml, $sCsrfField)
|
||||
$sPost = "_csrf=" & $sCsrfValue & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0"
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0])
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
$aPosID = StringRegExp($sHtml, 'positionId=([^&]+)', 3)
|
||||
If IsArray($aPosID) Then
|
||||
$iSheetID = $aSheetID[0]
|
||||
;~ $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "")
|
||||
$sHtml = _HttpGet($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
|
||||
Local $sCsrfField = ""
|
||||
Local $sCsrfValue = _ExtractCsrf($sHtml, $sCsrfField)
|
||||
Local $sCSRF = $sCsrfValue
|
||||
Select
|
||||
Case $aInhalt[$i][7] = "ST"
|
||||
;bei Stück
|
||||
_EV_ADD_ST_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ _EV_ADD_ST_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF)
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
Case $aInhalt[$i][7] = "M"
|
||||
; bei Meter
|
||||
_EV_ADD_M_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ; alt
|
||||
;~ _EV_ADD_M_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
Case $aInhalt[$i][7] = "M2"
|
||||
; bei m2
|
||||
_EV_ADD_M2_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
Case $aInhalt[$i][7] = "M3"
|
||||
;m3
|
||||
_EV_ADD_M3_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aInhalt[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
Case $aInhalt[$i][7] = "STD"
|
||||
; STD
|
||||
_EV_ADD_STD_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
Case $aInhalt[$i][7] = "LE"
|
||||
; LE
|
||||
_EV_ADD_LE_insert_obj($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
|
||||
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
|
||||
EndSelect
|
||||
EndIf
|
||||
Next
|
||||
Else
|
||||
_Write_to_Console("sheetID link=> " & $sHtml & " Pattern: " & "sheetId=(.*)")
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
Else
|
||||
_Write_to_Console("kein Aufmaß gefunden!")
|
||||
EndIf
|
||||
Else
|
||||
_Write_to_Console("Login Fehler!!!")
|
||||
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Pos_eintragen_obj
|
||||
|
||||
Func _EV_ADD_LE_insert_obj($iZeile, $sAbschnitt, $sLangtext, $iLE, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
$iLE = StringReplace($iLE, ",", "%2C")
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iLE & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ &ServicePosition%5B0%5D%5BsectionText%5D=VAO &ServicePosition%5B0%5D%5Bquantity%5D=100 &ServicePosition%5B0%5D%5BlongText%5D=VAO &ServicePosition%5B0%5D%5Bid%5D=43945349 &clientId=1&sheetId=0006425482&insertPosition=0&save=
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_LE_insert_obj
|
||||
|
||||
Func _EV_ADD_STD_insert_obj($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
$iStueck = StringReplace($iStueck, ",", "%2C")
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_STD_insert_obj
|
||||
|
||||
Func _EV_ADD_M3_insert_obj($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iTief, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
$sFaktor = StringReplace($sFaktor, ",", "%2C")
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
$iLang = StringReplace($iLang, ",", "%2C")
|
||||
$iBreit = StringReplace($iBreit, ",", "%2C")
|
||||
$iTief = StringReplace($iTief, ",", "%2C")
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MV&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BformulaValueDepth%5D=" & $iTief & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
;~ _DebugArrayDisplay($aHTML)
|
||||
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_M3_insert_obj
|
||||
|
||||
Func _EV_ADD_M2_insert_obj($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
;~ $sFaktor = StringReplace($sFaktor, ",", ".")
|
||||
;~ If $sFaktor = "1.0" Then
|
||||
;~ $sFaktor = "1"
|
||||
;~ EndIf
|
||||
;~ If $sFaktor = "1,0" Then
|
||||
;~ $sFaktor = "1"
|
||||
;~ EndIf
|
||||
$sFaktor = StringReplace($sFaktor, ",", "%2C")
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
$iLang = StringReplace($iLang, ",", "%2C")
|
||||
$iBreit = StringReplace($iBreit, ",", "%2C")
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MF&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
;~ _DebugArrayDisplay($aHTML)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_M2_insert_obj
|
||||
|
||||
Func _EV_ADD_ST_insert_obj($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
$iStueck = StringReplace($iStueck, ",", "%2C")
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
;~ _DebugArrayDisplay($aHTML)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_ST_insert_obj
|
||||
|
||||
Func _EV_ADD_M_insert_obj($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $sMeter, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
|
||||
If StringLen($sAbschnitt) >= 25 Then
|
||||
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
|
||||
EndIf
|
||||
$sAbschnitt = _UrlEncode_obj($sAbschnitt)
|
||||
$sFaktor = StringReplace($sFaktor, ",", "%2C")
|
||||
$sMeter = StringReplace($sMeter, ",", "%2C")
|
||||
$sLongText = _UrlEncode_obj($sLangtext) ; max 40
|
||||
;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF
|
||||
|
||||
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $sMeter & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
|
||||
;~ ;&ServicePosition[0][sectionText]=Abschnitt&ServicePosition[0][formulaSymbol]=ME&ServicePosition[0][formulaValueMultiplier]=1&ServicePosition[0][formulaValueLength]=95&ServicePosition[0][longText]=Langtext&ServicePosition[0][id]=82627311&clientId=1&sheetId=0008943838&insertPosition=&save=
|
||||
;~ ConsoleWrite($sPost & @crlf)
|
||||
;~ MsgBox(64, "", "")
|
||||
|
||||
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&per-page=20&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
|
||||
;~ _DebugArrayDisplay($aHTML)
|
||||
$sHtml = _HttpPost($oHttp, $sEVHOST & "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID)
|
||||
$sHtml = $oHttp.ResponseText
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "stop", "stop")
|
||||
If StringInStr($sHtml, "erfolgreich gespeichert") Then
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
|
||||
Else
|
||||
_Write_to_Console($sPosNrKurztext & "|" & "... Fehlgeschlagen")
|
||||
EndIf
|
||||
EndFunc ;==>_EV_ADD_M_insert_obj
|
||||
|
||||
Func _EV_Aspa_obj($sDetailsID)
|
||||
$sUrl = "https://evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1"
|
||||
$sRefer = "https://evergabe.telekom.de/framework-agreement-call/"
|
||||
$sHtml = _HttpGet($oHttp, $sUrl, $sRefer = "")
|
||||
Dim $aAspa[3]
|
||||
;~ ClipPut($sHtml)
|
||||
;~ MsgBox(64, "Read Aspa", "")
|
||||
|
||||
$aAspaName = StringRegExp($sHtml, "Name</th><td>([^<]+)</td>", 3)
|
||||
$aAspaMail = StringRegExp($sHtml, 'mailto:([^"]+)', 3)
|
||||
$aAspaTel = StringRegExp($sHtml, 'th>Telefon</th><td>([^<]+)', 3)
|
||||
If IsArray($aAspaTel) Then
|
||||
$aAspa[2] = $aAspaTel[0]
|
||||
Else
|
||||
$aAspa[2] = ""
|
||||
EndIf
|
||||
If IsArray($aAspaName) Then
|
||||
$aAspa[0] = $aAspaName[0]
|
||||
Else
|
||||
$aAspa[0] = ""
|
||||
EndIf
|
||||
If IsArray($aAspaMail) Then
|
||||
$aAspa[1] = $aAspaMail[1]
|
||||
Else
|
||||
$aAspa[1] = ""
|
||||
EndIf
|
||||
|
||||
;~ _DebugArrayDisplay($aAspa)
|
||||
Return $aAspa
|
||||
EndFunc ;==>_EV_Aspa_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Title_obj($sQuellcode)
|
||||
;Rückgabe Array sonst $error string
|
||||
;~ local $aTitle = StringRegExp($sQuellcode, 'no-wrap" title="([^"]+)', 3)
|
||||
Local $aTitle = StringRegExp($sQuellcode, '(?m)no-wrap" title="([^"]+)', 3)
|
||||
;~ _DebugArrayDisplay($aTitle)
|
||||
If IsArray($aTitle) Then
|
||||
For $i = 0 To UBound($aTitle) - 1
|
||||
$aTitle[$i] = StringReplace($aTitle[$i], "SM Auftragsnummer: 000", " SM ")
|
||||
$aTitle[$i] = StringReplace($aTitle[$i], @CR, " ") ;CR out
|
||||
$aTitle[$i] = StringReplace($aTitle[$i], @LF, " ") ;LF out
|
||||
Next
|
||||
Return $aTitle
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Title_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Bedarfnr_obj($sQuellcode)
|
||||
;SMNr
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aBedarfnr = StringRegExp($sQuellcode, 'Bedarfsnr.: 0([^<]+)<', 3)
|
||||
;~ ConsoleWrite($sQuellcode & @CRLF)
|
||||
;~ _DebugArrayDisplay($aBedarfnr)
|
||||
;~ MsgBox(64, "", "")
|
||||
If IsArray($aBedarfnr) Then
|
||||
Return $aBedarfnr
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Bedarfnr_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Belegeingang_obj($sQuellcode)
|
||||
;42Nr
|
||||
;Rückgabe Array sonst $error string
|
||||
;~ Local $aBelegeingang = StringRegExp($sQuellcode, 'Bedarfsnr.: [^<]+</td><td>[^<]+</td><td>([^<]+)', 3)
|
||||
Local $aBelegeingang = StringRegExp($sQuellcode, '(\d\d\.\d\d\.\d\d\d\d)', 3)
|
||||
|
||||
If IsArray($aBelegeingang) Then
|
||||
Return $aBelegeingang
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Belegeingang_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Belegnr_obj($sQuellcode)
|
||||
;42Nr
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aBelegnr = StringRegExp($sQuellcode, '(42[^\/]+)\/0001', 3)
|
||||
If IsArray($aBelegnr) Then
|
||||
Return $aBelegnr
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Belegnr_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Ausfuehrungsfrist_obj($sQuellcode)
|
||||
;Ausführungsfrist
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aAusfuehrungsfrist = StringRegExp($sQuellcode, '(\d\d\.\d\d\.\d\d\d\d)</td><td><a href', 3)
|
||||
If IsArray($aAusfuehrungsfrist) Then
|
||||
Return $aAusfuehrungsfrist
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Ausfuehrungsfrist_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_DetailsID_obj($sQuellcode)
|
||||
;DetailsID intern für E-Vergabe
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aDetailsID = StringRegExp($sQuellcode, 'call/details.id=([^&]+)&c=1', 3)
|
||||
If IsArray($aDetailsID) Then
|
||||
Return $aDetailsID
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_DetailsID_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_RV_obj($sQuellcode)
|
||||
;Rahmenvertrag
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aRV = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">([^/]+)', 3)
|
||||
If IsArray($aRV) Then
|
||||
Return $aRV
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_RV_obj
|
||||
|
||||
Func _EV_Abrufliste_GET_Status_obj($sQuellcode)
|
||||
;Stauts
|
||||
;Rückgabe Array sonst $error string
|
||||
Local $aStatus = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">[^"]+"[^>]+>([^<]+)', 3)
|
||||
If IsArray($aStatus) Then
|
||||
Return $aStatus
|
||||
Else
|
||||
Return "Error"
|
||||
EndIf
|
||||
EndFunc ;==>_EV_Abrufliste_GET_Status_obj
|
||||
|
||||
Func _ComErrFunc()
|
||||
Local $sMsg = "COM-Fehler!" & @CRLF & _
|
||||
"Beschreibung: " & @error & @CRLF & _
|
||||
"Zusatzzahl: " & @extended & @CRLF
|
||||
ConsoleWrite("! " & $sMsg & @CRLF)
|
||||
MsgBox(16, "COM-Fehler", $sMsg)
|
||||
EndFunc ;==>_ComErrFunc
|
||||
|
||||
Func _HttpCreate()
|
||||
Global $oHttp = ObjCreate("WinHttp.WinHttpRequest.5.1")
|
||||
If Not IsObj($oHttp) Then
|
||||
MsgBox(16, "Fehler", "WinHttp-Objekt konnte nicht erzeugt werden.")
|
||||
Exit
|
||||
EndIf
|
||||
|
||||
; Cookie Handling aktivieren
|
||||
$oHttp.Option(6) = True ; WinHttpRequestOption_EnableCookie
|
||||
Return $oHttp
|
||||
EndFunc ;==>_HttpCreate
|
||||
|
||||
Func _HttpGet($oHttp, $sUrl, $sRefer = "")
|
||||
If Not IsObj($oHttp) Then
|
||||
MsgBox(16, "Fehler", "HTTP-Objekt ist ungültig vor GET.")
|
||||
Exit
|
||||
EndIf
|
||||
|
||||
Local $sMethod = "GET"
|
||||
Local $sReqHeaders = ""
|
||||
Local $sReqBody = ""
|
||||
|
||||
;~ ConsoleWrite("+ GET " & $sUrl & @CRLF)
|
||||
|
||||
$oHttp.Open($sMethod, $sUrl, False)
|
||||
$oHttp.SetRequestHeader("User-Agent", $sUserAgent)
|
||||
$oHttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
If $sRefer = "" Then
|
||||
;kein Refer angeben
|
||||
Else
|
||||
;refer übergeben
|
||||
$oHttp.SetRequestHeader("Referer", $sRefer)
|
||||
EndIf
|
||||
|
||||
; Für Logging: Request-Header rekonstruieren (was wir selbst gesetzt haben)
|
||||
$sReqHeaders &= "User-Agent: " & $sUserAgent & @CRLF
|
||||
$sReqHeaders &= "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
|
||||
If $sRefer = "" Then
|
||||
;kein Refer angeben
|
||||
$sReqHeaders &= "User-Agent: " & $sUserAgent & @CRLF
|
||||
Else
|
||||
;refer übergeben
|
||||
$sReqHeaders &= "User-Agent: " & $sUserAgent & @CRLF
|
||||
$sReqHeaders &= "Referer: " & $sRefer & @CRLF
|
||||
EndIf
|
||||
|
||||
$oHttp.Send()
|
||||
|
||||
Local $iStatus = $oHttp.Status
|
||||
; Response-Header holen
|
||||
Local $sAllRespHeaders = $oHttp.GetAllResponseHeaders()
|
||||
Local $sRespBody = $oHttp.ResponseText
|
||||
|
||||
$sRespBody = StringReplace($sRespBody, "amp;", "")
|
||||
|
||||
_Write_to_Console("öffne link: " & $sUrl)
|
||||
If $iDebug = "True" Then
|
||||
_LogRequestResponse($sMethod, $sUrl, $sReqHeaders, $sReqBody, $iStatus, $sAllRespHeaders, $sRespBody)
|
||||
EndIf
|
||||
Return $sRespBody
|
||||
EndFunc ;==>_HttpGet
|
||||
|
||||
Func _HttpPost($oHttp, $sUrl, $sBody, $sRefer = "")
|
||||
If Not IsObj($oHttp) Then
|
||||
MsgBox(16, "Fehler", "HTTP-Objekt ist ungültig vor POST.")
|
||||
Exit
|
||||
EndIf
|
||||
|
||||
Local $sMethod = "POST"
|
||||
Local $sReqHeaders = ""
|
||||
Local $sReqBody = $sBody
|
||||
|
||||
;~ ConsoleWrite("+ POST " & $sUrl & @CRLF)
|
||||
|
||||
$oHttp.Open($sMethod, $sUrl, False)
|
||||
$oHttp.SetRequestHeader("User-Agent", $sUserAgent)
|
||||
$oHttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
If $sRefer = "" Then
|
||||
;kein Refer angeben
|
||||
Else
|
||||
;refer übergeben
|
||||
$oHttp.SetRequestHeader("Referer", $sRefer)
|
||||
EndIf
|
||||
|
||||
|
||||
; Request-Header fürs Logging
|
||||
;~ $sReqHeaders &= "User-Agent: " & $sUserAgent & @CRLF
|
||||
;~ $sReqHeaders &= "Content-Type: application/x-www-form-urlencoded" & @CRLF
|
||||
;~ $sReqHeaders &= "Referer: " & $sRefer & @CRLF
|
||||
|
||||
$oHttp.Send($sBody)
|
||||
|
||||
Local $iStatus = $oHttp.Status
|
||||
Local $sAllRespHeaders = $oHttp.GetAllResponseHeaders()
|
||||
Local $sRespBody = $oHttp.ResponseText
|
||||
$sRespBody = StringReplace($sRespBody, "amp;", "")
|
||||
$oHttp.ResponseText = StringReplace($oHttp.ResponseText, "amp;", "")
|
||||
|
||||
_Write_to_Console("öffne link: " & $sUrl)
|
||||
If $iDebug = "True" Then
|
||||
_LogRequestResponse($sMethod, $sUrl, $sReqHeaders, $sReqBody, $iStatus, $sAllRespHeaders, $sRespBody)
|
||||
EndIf
|
||||
|
||||
Return $oHttp
|
||||
EndFunc ;==>_HttpPost
|
||||
|
||||
|
||||
; =================== Hilfsfunktionen ============================
|
||||
Func _ExtractCsrf($sHtml, ByRef $sFieldName)
|
||||
; Meta-Tag
|
||||
Local $aMeta = StringRegExp($sHtml, '(?i)<meta[^>]+name="csrf-token"[^>]+content="([^"]+)"', 3)
|
||||
If Not @error And UBound($aMeta) >= 1 Then
|
||||
$sFieldName = "_csrf"
|
||||
ConsoleWrite("+ CSRF (meta): " & $aMeta[0] & @CRLF)
|
||||
Return $aMeta[0]
|
||||
EndIf
|
||||
|
||||
; Hidden input
|
||||
Local $a = StringRegExp($sHtml, '(?i)name="([^"]*csrf[^"]*)"[^>]*value="([^"]+)"', 3)
|
||||
If @error Or UBound($a) < 2 Then
|
||||
ConsoleWrite("! CSRF-Token nicht gefunden" & @CRLF)
|
||||
FileWrite("debug_login_page.html", $sHtml)
|
||||
Exit
|
||||
EndIf
|
||||
$sFieldName = $a[0]
|
||||
ConsoleWrite("+ CSRF Feld: " & $a[0] & " = " & $a[1] & @CRLF)
|
||||
Return $a[1]
|
||||
EndFunc ;==>_ExtractCsrf
|
||||
|
||||
Func _UrlEncode_obj($s)
|
||||
Local $i, $ch, $sOut = ""
|
||||
For $i = 1 To StringLen($s)
|
||||
$ch = StringMid($s, $i, 1)
|
||||
Local $asc = Asc($ch)
|
||||
If ($asc >= 48 And $asc <= 57) Or _
|
||||
($asc >= 65 And $asc <= 90) Or _
|
||||
($asc >= 97 And $asc <= 122) Or _
|
||||
$ch = "-" Or $ch = "_" Or $ch = "." Or $ch = "~" Then
|
||||
$sOut &= $ch
|
||||
Else
|
||||
$sOut &= "%" & Hex($asc, 2)
|
||||
EndIf
|
||||
Next
|
||||
Return $sOut
|
||||
EndFunc ;==>_UrlEncode_obj
|
||||
|
||||
Func _Pad2($i)
|
||||
If $i < 10 Then
|
||||
Return "0" & $i
|
||||
EndIf
|
||||
Return $i
|
||||
EndFunc ;==>_Pad2
|
||||
|
||||
; Speichert Request- und Response-Daten als NN.header.txt / NN.response.txt
|
||||
Func _LogRequestResponse($sMethod, $sUrl, $sReqHeaders, $sReqBody, _
|
||||
$iStatus, $sRespHeaders, $sRespBody)
|
||||
$g_iReqCounter += 1
|
||||
Local $sIdx = _Pad2($g_iReqCounter)
|
||||
|
||||
; ----- Header-Datei -----
|
||||
Local $sHeaderFile = $sIdx & ".header.txt"
|
||||
Local $sHeaderContent = ""
|
||||
$sHeaderContent &= "=== REQUEST " & $sIdx & " ===" & @CRLF
|
||||
$sHeaderContent &= "Method: " & $sMethod & @CRLF
|
||||
$sHeaderContent &= "URL: " & $sUrl & @CRLF & @CRLF
|
||||
$sHeaderContent &= "[Request Headers]" & @CRLF & $sReqHeaders & @CRLF & @CRLF
|
||||
$sHeaderContent &= "[Request Body]" & @CRLF & $sReqBody & @CRLF
|
||||
|
||||
FileWrite($sHeaderFile, $sHeaderContent)
|
||||
|
||||
; ----- Response-Datei -----
|
||||
Local $sRespFile = $sIdx & ".response.txt"
|
||||
Local $sRespContent = ""
|
||||
$sRespContent &= "=== RESPONSE " & $sIdx & " ===" & @CRLF
|
||||
$sRespContent &= "Status: " & $iStatus & @CRLF & @CRLF
|
||||
$sRespContent &= "[Response Headers]" & @CRLF & $sRespHeaders & @CRLF & @CRLF
|
||||
$sRespContent &= "[Response Body]" & @CRLF & $sRespBody & @CRLF
|
||||
|
||||
FileWrite($sRespFile, $sRespContent)
|
||||
|
||||
; ----- Konsolen-Ausgabe -----
|
||||
ConsoleWrite("+ ==== REQUEST " & $sIdx & " " & $sMethod & " " & $sUrl & " ====" & @CRLF)
|
||||
ConsoleWrite($sReqHeaders & @CRLF)
|
||||
If $sReqBody <> "" Then
|
||||
ConsoleWrite("Body:" & @CRLF & $sReqBody & @CRLF)
|
||||
EndIf
|
||||
ConsoleWrite("+ ==== RESPONSE " & $sIdx & " (HTTP " & $iStatus & ") ====" & @CRLF)
|
||||
ConsoleWrite($sRespHeaders & @CRLF)
|
||||
ConsoleWrite("Body :" & @CRLF & $sRespBody & @CRLF)
|
||||
|
||||
_Write_to_Console("+ ==== REQUEST " & $sIdx & " " & $sMethod & " " & $sUrl & " ====")
|
||||
_Write_to_Console($sReqHeaders)
|
||||
If $sReqBody <> "" Then
|
||||
_Write_to_Console("Body:" & @CRLF & $sReqBody)
|
||||
EndIf
|
||||
_Write_to_Console("+ ==== RESPONSE " & $sIdx & " (HTTP " & $iStatus & ") ====")
|
||||
_Write_to_Console($sRespHeaders)
|
||||
_Write_to_Console("Body :" & @CRLF & $sRespBody)
|
||||
|
||||
EndFunc ;==>_LogRequestResponse
|
||||
Reference in New Issue
Block a user