1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. alpines

Beiträge von alpines

  • Richtig Prüfen ob ein Formular auf der webseite existirt

    • alpines
    • 16. Dezember 2016 um 08:56

    Dafür kannst du IsObj($oObject) verwenden. Das gibt dir ein true zurück wenn es sich um ein Objekt handelt (_IEFormGetObjById z.B.) und false wenn nicht.

  • Fensterklasse ermitteln

    • alpines
    • 15. Dezember 2016 um 23:40

    Ganz einfach mit _WinAPI_GetClassName.

  • Login mit Winhttp

    • alpines
    • 15. Dezember 2016 um 23:31

    Ich habs nochmal ein bisschen verändert weil WinHttp das ganze doch nicht selbstständig kodiert.
    Kannst dir ja mal meine Encode-Funktion anschauen, die nutzt den Trick mit einer For-Loop und der Ascii-Tabelle aus statt alle Zeichen per Hand einzutippen.

    Der Code hier unten funktioniert, die HTML Datei die mir ausgespuckt wird sagt das der User Login nicht existiert (steht auch im Source). Ich denke mal wenn du deine Daten eintippst wird das schon funktionieren. :)

    AutoIt
    #include <WinHttp.au3>
    #include <String.au3>
    
    
    Global Const $S_USERNAME = "test", $S_PASSWORD = "1234"
    
    
    $hSession = _WinHttpOpen()
    $hConnect = _WinHttpConnect($hSession, "www.gtlpins.com")
    
    
    $sHTML = _WinHttpSimpleRequest($hConnect, "GET", "Aroma/Login.aspx")
    
    
    $aEventTarget = StringRegExp($sHTML, "<input type=""hidden"" name=""__EVENTTARGET"" id=""__EVENTTARGET"" value=""(.*?)"" \/>", 3)
    $aEventArgument = StringRegExp($sHTML, "<input type=""hidden"" name=""__EVENTARGUMENT"" id=""__EVENTARGUMENT"" value=""(.*?)"" \/>", 3)
    $aViewState = StringRegExp($sHTML, "<input type=""hidden"" name=""__VIEWSTATE"" id=""__VIEWSTATE"" value=""(.*?)"" \/>", 3)
    $aEventValidation = StringRegExp($sHTML, "<input type=""hidden"" name=""__EVENTVALIDATION"" id=""__EVENTVALIDATION"" value=""(.*?)"" \/>", 3)
    
    
    If Not UBound($aEventTarget) or Not UBound($aEventArgument) or Not UBound($aViewState) or Not UBound($aEventValidation) Then
    	MsgBox(16, "Fehler", "Parameter für Post konnten nicht geparst werden!")
    	Exit
    EndIf
    
    
    $sPostData = "__EVENTTARGET=" & _Http_StringToHex($aEventTarget[0]) & _
    			 "&__EVENTARGUMENT=" & _Http_StringToHex($aEventArgument[0]) & _
    			 "&__VIEWSTATE=" & _Http_StringToHex($aViewState[0]) & _
    			 "&__EVENTVALIDATION=" & _Http_StringToHex($aEventValidation[0]) & _
    			 "&txtUserName=" & _Http_StringToHex($S_USERNAME) & _
    			 "&txtPassword=" & _Http_StringToHex($S_PASSWORD) & _
    			 "&loginbtnlogin=Anmelden"
    
    
    $sHTML = _WinHttpSimpleRequest($hConnect, "POST", "Aroma/Login.aspx", Default, $sPostData)
    
    
    FileDelete("debug.html")
    FileWrite("debug.html", $sHTML)
    
    
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hSession)
    
    
    Func _Http_StringToHex($sString, $iMode = 0)
    	$sString = StringReplace($sString, "%", "%25")
    
    
    	For $iChar = 32 To 126
    		If $iChar = 37 Then ContinueLoop
    		If $iChar = 48 Then $iChar = 58
    		If $iChar = 65 Then $iChar = 91
    		If $iChar = 97 Then $iChar = 123
    
    
    		$sString = StringReplace($sString, Chr($iChar), "%" & _StringToHex(Chr($iChar)))
    	Next
    
    
    	Return $sString
    EndFunc
    Alles anzeigen
  • Login mit Winhttp

    • alpines
    • 15. Dezember 2016 um 22:58

    Probiers mal hiermit, wenns nicht klappt kannst du mir gerne die Userdaten per PN zuschicken und ich bastel dir da einen Login dazu.
    Eventuell musst du noch deinen URL-Formatierer hinzufügen aber ich glaube das WinHttp das automatisch encodet.

  • Altes Skript komplett neu machen?

    • alpines
    • 15. Dezember 2016 um 22:42

    Ich kenne deine Lage, wenn ich in alten Code von mir blicke (>1-2 Jahre) dann kommts mir auch hoch.
    Wenn du das Script in der Zukunft weiter nutzen willst, solltest du es neuschreiben damit du es in Zukunft auch besser warten kannst.

    Außerdem hilft das einem immer, weil man sehen kann was man damals anders gemacht hat und sich verbessern kann. Einige Lacher oder peinliche Momente sind sicherlich auch dabei :)

  • Verzeichnisse und Unterverzeichnisse aus Variablen

    • alpines
    • 15. Dezember 2016 um 19:53

    Wenns klappt dann setz doch bitte den Präfix des Threads auf [gelöst] (1. Beitrag bearbeiten)

  • .

    • alpines
    • 15. Dezember 2016 um 13:35

    Schau mal ob die Id die du klicken willst in einem <iframe> liegt. Wenn das der Fall ist kannst du nicht vom main Document drauf klicken sondern musst im Frame sein.

  • globale Variable setzen - auswerten im Unterprogramm

    • alpines
    • 13. Dezember 2016 um 16:18

    Du benutzt eine GUI mit Controls als Textaustausch. Es gibt schon einige UDFs wie man zwischen mehreren Instanzen an Programmen Variablen übergibt und eine Variante davon basiert auf GUIs.

    Es wird ein neues Fenster mit einem bestimmten Titel erstellt (hidden, Titel ist beiden bekannt) und dort wird einfach ein Label oder Input erstellt was den Inhalt der Variable trägt.
    Jetzt kann das 2. Script das Label auslesen (ControlGetText) und sogar manipulieren (ControlSetText).

  • globale Variable setzen - auswerten im Unterprogramm

    • alpines
    • 13. Dezember 2016 um 13:22

    Du kannst nicht einfach auf die Variable des Hauptprogrammes so einfach zugreifen, so läuft das nicht.

    Es gibt mehrere Möglichkeiten wie du die Werte übergeben kannst, das einfachste wäre es als Konsolenparameter einfach hinterherzuschmeißen und sie dann im Programm auszuwerten,
    allerdings ist es dann nur eine Kopie und du hast praktisch keinen direkten Variablenzugriff auf die Variable im Hauptprogramm.

    Eine andere Möglichkeit wäre es die Variable für beide Programme verfügbar zu machen, entweder über TCP-Pakete, einer verstecken GUI, oder einer UDF die genau so etwas anbietet.

    Solltest du nur vorhaben einmal den Inhalt überzugeben und ihn für das Hauptprogramm nicht zu modifizieren, dann gib ihn als Konsolenparameter über, das ist der einfachste Weg.

  • Fertig Kompiliertes Script dekompilieren?

    • alpines
    • 13. Dezember 2016 um 00:07

    Es gibt sogenannte Obfuscator die dein Scriptcode in Wirrwarr konvertieren der für das menschliche Auge unlesbar ist - dennoch bleibt die Funktionalität erhalten.
    Allerdings gibt es seit der 3.3.10.2 (nach meinem Wissensstand) keinen Decompiler für die aktuellen Versionen der funktioniert und der offizielle Obfuscator wurde vor langer Zeit schon eingestellt.

    Zwar gibt es noch von der Community gemachte Obfuscator aber da gibt es auch schon einige Deobfuscator dazu.

    Solltest du wirklich Angst um deine Zugangsdaten für deine Datenbank haben (ich gehe jetzt von einer Online-Datenbank aus), schreib ein PHP-Backend was über WebRequests deine Befehle annimmt und auf der Datenbank ausführt. Wenn es nur offline ist dann lass die Daten einfach drinne, denn es ist ja eine offline DB, kannst es im Source ja verschlüsseln so das der String nicht extrahierbar ist.

    Um das ganze aber nochmal abzuschließen: Wenn jemand gewillt ist deinen Code zu kriegen, dann wird er das auch schaffen. Nichts ist sicher. Aber ich bezweifle sehr stark das du Software entwickelst die Leute knacken wollen also solltest du dir um die Sachen keine allzugroßen Gedanken machen.

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • alpines
    • 12. Dezember 2016 um 23:41

    Gibts von der Amazon Serie kein Tablet zu dem Preis?

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • alpines
    • 12. Dezember 2016 um 21:39
    Zitat von Xorianator

    Also das ist ganz schön von oben herab. Ich denke man schafft es durchaus, wenn man sich hier und da beliest, irgendwen fragt, usw. aber das ist definitiv nicht Sinn der Sache, eher verfehlt.

    Wieso von oben herab? Letzendlich ist es doch die Motivation die man dafür braucht um das zu lernen.
    Du musst es ja nicht nur bei Schulbüchern belassen, mit anderen Lektüren kriegst du sicherlich eine gute Kombination aus Lernen und Aufgaben zusammen.

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • alpines
    • 12. Dezember 2016 um 20:59
    Zitat von Xorianator

    Sicher, da hat man aber auch einen Lehrer... das wird glaube ich ein wenig unterschätzt...

    Wer genug Motivation mitbringt schafft das schon, ich hatte in der Schule keine Lust drauf trotz Lehrer und spreche wunderbar Englisch.
    Dein Freund wird das sicherlich schaffen wenn er die Sprache wirklich lernen möchte.

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • alpines
    • 12. Dezember 2016 um 19:52
    Zitat von Xorianator

    Gute Frage, vielleicht die Abneigung aus eigener Erfahrung :D? Unsere Lehrer schimpften oft drauf ^^

    Dennoch siehst du was daraus geworden ist. Mit Schulbüchern und Serien/Spiele auf Englisch kann man sich sehr gute Englischkenntnisse aneignen.

  • Exe mit Parameter übergeben

    • alpines
    • 12. Dezember 2016 um 19:22

    Wenn dein Problem gelöst ist änder doch bitte den Präfix des Threads auf [gelöst] (1. Beitrag bearbeiten.)

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • alpines
    • 11. Dezember 2016 um 20:30

    Mag vielleicht banal klingen aber warum keine Schulbücher? Die haben teilweise mehrere Audio-CDs und sogar Lernsoftware drauf.
    Gibt sicherlich welche die ohne Begleitperson (Lehrer) auskommen.

  • Update autoit.de Forum

    • alpines
    • 10. Dezember 2016 um 21:22

    Es schadet (meistens) nie zu updaten also immer nur her damit! Wäre bereit auch ein wenig in die Kaffeekasse dafür einzuzahlen.

    Und wenn es nicht zu viel verlangt ist würde ich gerne wollen das wir das ganze wie bei WBB3 wieder customizen mit einer eigenen ShoutBox und etc.
    Das Forum hat ein wenig von seinem Charme von WBB3 auf 4 meiner Meinung nach eingebüßt.

  • StringRegExp Pattern Problem

    • alpines
    • 8. Dezember 2016 um 11:02

    (?s)(?i)<td class="station first">\R(.+?)(?:\s+)?\R<\/td>\R<td class="time">\R(\d+\:\d+)(?:&nbsp;<span class="(?:ontime|delay)">(.+?)<\/span><\/td>|).+?<td class="Station stationDest">\R(.+?)(?:\s+)?\R<\/td>\R<td class="time">\R(\d+\:\d+)&nbsp;<span class="(?:ontime|delay)">(.+?)<\/span><\/td>
    Sieht zwar etwas schäbig aus aber tut seinen Job.

  • Windows document

    • alpines
    • 7. Dezember 2016 um 12:51

    @Alina @gmmg
    Beim Internet Explorer wird das HTML-Dokument als Windows.document bezeichnet, dort drin sind die Controls enthalten.

    Was emeuv versuchen möchte ist die HTML der Seite auszulesen um den aktuellen Kurs zu ermitteln.

    @emeuv
    Für Edge gibt es noch keine UDF (aber eine Schnittstelle an die du dich ransetzen kannst) also probiers mal mit WinHttp oder IE.au3

  • Assemblercode - Noch optimierbar?

    • alpines
    • 7. Dezember 2016 um 00:55

    Hier mal die Resultate von Andys Post auf meinem Intel Core i7-4790. Schon krass wie sehr der Faktor abnimmt wenn man über 3 Threads hinaus geht.

    Code
    Threads:   1   Time: 19.1ms   PI: 3.141592553586 
    Threads:   2   Time: 10.0ms   PI: 3.141592553591 
    Threads:   3   Time:  7.2ms   PI: 3.141592553590 
    Threads:   4   Time:  7.4ms   PI: 3.141592553589 
    Threads:   5   Time:  7.7ms   PI: 3.141592553590 
    Threads:   6   Time:  6.6ms   PI: 3.141592553590 
    Threads:   7   Time:  8.6ms   PI: 3.141592553589 
    Threads:   8   Time:  7.5ms   PI: 3.141592553590 
    Threads:   9   Time:  7.9ms   PI: 3.141592553589 
    Threads:  10   Time:  7.0ms   PI: 3.141592553590 
    Threads:  11   Time:  6.8ms   PI: 3.141592553589 
    Threads:  12   Time:  5.7ms   PI: 3.141592553589 
    Threads:  13   Time:  6.3ms   PI: 3.141592553589 
    Threads:  14   Time:  5.7ms   PI: 3.141592553590 
    Threads:  15   Time:  5.7ms   PI: 3.141592553589 
    Threads:  16   Time:  5.5ms   PI: 3.141592553590 
    Threads:  17   Time:  6.0ms   PI: 3.141592553589 
    Threads:  18   Time:  5.8ms   PI: 3.141592553589 
    Threads:  19   Time:  5.7ms   PI: 3.141592553589 
    Threads:  20   Time:  6.1ms   PI: 3.141592553590 
    Threads:  21   Time:  5.8ms   PI: 3.141592553589 
    Threads:  22   Time:  6.2ms   PI: 3.141592553589 
    Threads:  23   Time:  5.9ms   PI: 3.141592553589 
    Threads:  24   Time:  5.7ms   PI: 3.141592553589
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™