URL aufrufen ohne sie fertig zu laden

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

URL aufrufen ohne sie fertig zu laden

29 Jun 2018, 02:25

Hallo,

ich habe einen Script entworfen, der div. Daten über ein API in ein CMS hochläd. Dabei wird die Website aber erstmal "nur" gespiechert, beim ersten mal öffnen werden allerdings vom CMS noch einige Änderungen vorgenommen, weshalb die Seite das erste mal viel länger brauch um zu laden (teil. bis zu 20 Sekunden).
Damit das später beim Browsen nicht stört, habe ich zuerst nach dem hochladen der Seite diese mit UrlDownloadToFile aufgerufen. Hier ist jetzt aber das Problem, dass das die Ausführung des Scripts unheimlich in die länge zieht, da dieses ja dann auch 20 Sekunden "wartet" bis die Seite fertig geladen ist.

Gibt es eine möglichkeit, den Script so zu optimieren, dass die Seite nur "angefragt" wird, aber nicht gewartet wird bis sie fertig geladen ist?

Optional: gibt es die Möglichkeit, 2 Funktionen gleichzeit auszuführen (in einem Script)? Dann könnte man das URLDownloadToFile auslagern und währenddessen mit dem Hochladen der nächsten Seite fortfahren.

Kann man bestimmte Seiten von Websiten anpingen oder nur den Server an sich?
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: URL aufrufen ohne sie fertig zu laden

29 Jun 2018, 03:48

Was du machen willst ist an sich einen HTTPRequest abzusenden, ohne dass du auf die Antwort warten musst.
An sich ist die Antwort asynchrone Ausführung. Das beste Beispiel für synchrone und asynchrone Ausführung.
GUI vs. MsgBox ist hier das beste Beispiel. Die GUI ist asynchron - sie wird erzeugt und ruft danach Funktionen auf wenn etwas passiert.
Die MsgBox ist synchron sie wird erzeugt und wartet so lange bis das ein Benutzer einen Knopf klickt.
Soweit ich weiß gibt es in AHK keine Standard Möglichkeit UrlDownloadToFile asynchron zu machen.
Ich würde dir empfehlen das WinHttpRequest COM Object anzuschauen:
https://autohotkey.com/boards/viewtopic.php?p=397#p397
Alternativen gibt es auch garantiert.
Du könntest z.B. per Run ein 2. Skript aufrufen oder die Website direkt im Browser öffnen.

An sich kann man auch direkt eine Unterseite des Servers aufrufen
Recommends AHK Studio

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 19 guests