Http-Request funktioniert nicht richtig

  • Allgemein

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von HuBaer.

    Http-Request funktioniert nicht richtig

    Hallo allerseits,

    ich bin am Verzweifeln. Das Programm soll per Http-Request ein SMS-Gateway ansteuern und testweise zweimal an dieselbe Nummer eine SMS mit dem gleichen Text verschicken. Hier der Code:


    VB.NET-Quellcode

    1. Option Explicit
    2. dim para, HttpRequest, url, errorlevel, text
    3. set HttpRequest = CreateObject("Microsoft.XMLHTTP")
    4. set para = WScript.arguments
    5. text = para(0)
    6. url = "http://gateway.ib-systems.de/?id=******&pw=******&absender=Test&type=2&empfaenger=0160********&text=" & text
    7. HttpRequest.Open "GET", url, False
    8. HttpRequest.Send
    9. errorlevel = HttpRequest.ResponseText
    10. MsgBox errorlevel
    11. url = "http://gateway.ib-systems.de/?id=******&pw=******&absender=Test&type=2&empfaenger=0160********&text=" & text
    12. HttpRequest.Open "GET", url, False
    13. HttpRequest.Send
    14. errorlevel = HttpRequest.ResponseText
    15. MsgBox errorlevel
    16. Wscript.Quit


    Das Versenden der SMS an sich klappt auch wunderbar, beim ersten Aufruf erhalte ich den Errorlevel 100 (Erfolgreich). Nun sollte ich aber beim zweiten Aufruf den Errorlevel 150 (Reloadsperre) erhalten, da dieselbe SMS an die gleiche Nummer inerhalb 5 Minuten versandt wurde, das ist gatewaybedingt. Ich bekomme jedoch wieder den Errorlevel 100. Beende ich danach das Programm (bzw. es beendet sich ja selbst) und starte es neu, so erhalte ich gleich beim ersten Aufruf den Errorlelvel 150, d.h. beim SMS-Gateway kann der Fehler nicht liegen, das weiß ich auch 100%ig.
    Fakt ist also: Ich kann nicht in einem Programmstart zweimal die gleiche SMS an die gleiche Nummer versenden, ich habe sogar den Eindruck, dass dann der zweite Request irgendwie übersprungen wird und einfach wieder der alte Response-Text in die Variable "Errorlevel" gschrieben wird.

    Folgendes habe ich bereits zur Fehlersuche probiert:

    1. Im zweiten Aufruf statt der 0160******** die 0049160******** verwenden. Dann klappt es. Darum ist der Fehler nur bei EXAKT der gleichen url.

    2. Am Ende des ersten Aufrufs den Befehl httprequest.abort einbauen, dann wird das Objekt reseted. Brachte nix.

    3. Vor dem zweiten Aurfuf das Objekt entladen und wieder neu geladen. Brachge genauso wenig was.

    Nun bin ich ziemlich am Ende und weiß einfach nicht mehr weiter. Es wäre total super, wenn ihr mir weiterhelfen könntet. Wenn ihr was nicht versteht oder etwas unklar ist, fragt ruhig nach. Vielen Dank!

    Grüße
    Christoph

    Edit by Agent: VB-Tag eingefügt + verschoben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()

    Diese 4 Begriffe stehen für Dein Glück in dieser Sache. :D Google danach und Du wirst finden wonach Du suchst - oder Du hast Dir keine Mühe gegeben. :P Wenn's dann klappt dann poste hier mal das funzende Ergebnis sodass es sich lohnte zu helfen.

    Und dann gibts noch die DeleteUrlCacheEntryA aus der WinInet - wie die URLDownloadToFileA.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „iF“ ()