Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

httpget in VBS refresh





Frage

Guten Tag ich habe folgendes script um eine datei in eine Variable (strdateivar) zu speichern: _________________________________________ Do strdateivar = "anfangs_nicht_vorhanden" strdateivar = HTTPGET("http://web610203.rex106.flatbooster.net/script/flag.flag") msgbox strdateivar Loop function HTTPGET(strURL) Dim strResult Dim Http Set Http = CreateObject("MSXML2.XMLHTTP") Http.Open "GET", strURL , False Http.send strResult = Http.ResponseText HTTPGET = strResult End function ____________________________________________ Die Datei ist nur eine flagdatei namens "flag.flag" also ist die variable "strdateivar" leer. ist die datei nicht vorhanden wird der html code des 404 errors in die variable geschrieben. jetzt startet eine schleife: falls die datei am anfang vorhanden ist wird die Variable auf leer gesetzt. wenn ich während der laufzeit die datei "flag.flag" lösche (sprich: die datei nichmehr da ist) erkennt das der HTTPGET-befehl nicht, weil er noch denkt, dass die datei vorhanden ist und setzt die variable wieder gleich leer, anstatt, dass es einen 404 error zurückgibt. bedeutet: ich brauche eine funktion die mein HTTPGET refreshed. ich hoffe, ihr könnt mir folgen. wäre cool wenn jemand da etwas wüsste. vielen dank schonmal mfg manwe144

Antwort 1 von onifer

ich kapier kleider nur die hälfte von dem, was du schreibst. hört sich für mich nach einem cacheproblem an. probier mal den server folgende zwei http-responseheader senden zu lassen:

Cache-Control: no-cache
Pragma: no-cache

somit sollte das cachen dieser datei grundsätzlich unterbleiben.

alternativ dazu könntest du auch in den internetoptionen "bei jedem zugriff neuere version suchen" auswählen, aber das würde sich dann auch auf deinen ie auswirken.

Antwort 2 von manwe144

Hm, jo das wäre richtig, wenn das script im browser starten würde.

tut mir leid. ich habe vergessen zu erwähnen, dass das script als. *.vbs datei bei mir lokal auf dem pc liegt.

und die beiden befehle sind wohl für html seiten, wenn ich das richtig sehe, oder?

Cache-Control: no-cache
Pragma: no-cache


d.h. ich brauch wohl einen befehl dafür.

mfg
manwe144

ps:vielen dank schonmal

Antwort 3 von onifer

Zitat:
und die beiden befehle sind wohl für html seiten, wenn ich das richtig sehe, oder?

nein, das siehst du falsch! es sind http-header, keine html-metaangaben.

Antwort 4 von onifer

was mir grad einfällt:
noch einfacher ist, ein query an die url anzuhängen. natürlich jedesmal ein anderes.
beispiel:
http://web610203.rex106.flatbooster.net/script/flag.flag?random_que...

Antwort 5 von manwe144

zu dem http-header: wo müsste ich das dann eintragen? in die flag datei?

zum query: du meinst eine variable (zahl) erstellen die pro schleife immer eins hochzählt und dann als pfad folgendes angeben ".../flag.falg?random_query=zahl

oder macht das der "random" im pfad automatisch?

mfg
manwe144

Antwort 6 von onifer

Zitat:
zu dem http-header: wo müsste ich das dann eintragen?

entweder beim apache oder, falls du die datei durch ein serverskript erzeugst, kannst du diese header auch mit perl, php oder python, ruby (wahrscheinlich, kenne letztere beiden nicht persönlich) ausgeben. überprüfen kannst du die response-header z.b. mit dem websniffer.

Zitat:
oder macht das der "random" im pfad automatisch?

nein, "random" ist einfach nur ein erfundener variablenname. normalerweise brauchst du nicht einmal ein variablen-wert-paar. es reicht eine zahl.
z.b.
http ../flag.flag?1
http ../flag.flag?2
http ../flag.flag?3
http ../flag.flag?4
der client muss davon ausgehen, dass eine adresse mit unterschiedlichen queries aufgerufen, verschiedene seiten/dateien als antwort ergibt. deswegen darf er nicht auf den cache zurückgreifen.

Antwort 7 von manwe144

OK. hat super funktioniert!!!

vielen vielen dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: