Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

HTTP Request (GET) Problem


  • Please log in to reply
No replies to this topic
MrHardstyle
  • Members
  • 2 posts
  • Last active: May 28 2014 03:48 PM
  • Joined: 28 May 2014

Hallo an alle,

 

ich bin für ein Onlinegame (SAMP) einen Keybinder am erstellen. Damit ich mir einige Zeilen sparen kann und der ganze Binder nicht zu ressourcenlastig wird habe ich mich an dem HTTP request versucht. Da ich leider mit den meisten Tut´s nichts anfangen konnte habe ich mir eine eigene Funktion zusammengebastelt.

Das ganze läuft über den "WinHttp.WinHttpRequest.5.1".

Er dient in meinem Falle dazu, um Daten von einer HTTP abzufragen. Die HTTP holt sich dann wiederum die Daten von einem MYSQL Server. Dieser ist auf dem aktuellsten Stand und gibt mir beim aufrufen der Seite auch die erforderlichen Informationen zurück.

 

Nun zu meinem Problem:

Wenn ich mit dem Keybinder den Befehl /kit Zahl eingebe spuckt er mir manchmal die richtigen Daten aus und manchmal gibt er gar nichts zurück obwohl die HP dennoch sendet. Ich denke mal es scheint an dem Script zu liegen das er durcheinander kommt. Desweiteren hatte ich das Problem die ID hinter die Teildomain zu geben. Die ID wird durch die Zahl von /kit Zahl ersetzt. Dann sollte beim 2. Request die Teildomain kommen, die ID und danach noch "&typ=1". Diese Funktion sollte auch in einem Loop laufen. Dazu kommt noch, dass wenn der 1. Server nicht erreichbar sein sollte mit einem weiteren Befehl /kit2 Zahl der 2. Server angefragt wird. Wie das zu automatisieren geht fand ich leider nicht herraus.

 

Welche Hilfe benötige ich von euch?

Erstmal hätte ich gerne, dass ihr die geschrieben Funktion analysiert. Verbesserungsvorschläge gebt und eventuell mir helft die 2. Serverabfrage beim Ausfall des ersten Server zu automatisieren. Und ganz zum Schluss hätte ich gerne noch eine Hilfe warum manchmal ein Wert (1) und manchmal kein Wert (0) zurück gegeben wird.

 

Zu dem Scriptauszug:

loop
{
  Input , MyInput,V , {Enter}
  IfInString, MyInput, /kit  ;Nachschauen ob /kit eingegeben wurde
  {
    StringTrimLeft, OutputVar, MyInput, 5   ; "/kit " = 4 + Leerzeichen = 5 zeichen nach links schieben
   
    {
    url=http://meine 1. url.de/car.php?id=
    typ=&typ=1
    preis=%url%%OutputVar%%typ%
    preise=%url%%OutputVar%%typ%
    fahrzeugname=%url%%OutputVar%

        whe := ComObjCreate("WinHttp.WinHttpRequest.5.1")
        whe.Open("GET", preis)
        whe.Send()
	whe.WaitForResponse(5)
        betrag := whe.ResponseText



        whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
        whr.Open("GET", fahrzeugname)
        whr.Send()
	whr.WaitForResponse(5)
        name := whr.ResponseText
}
{
	sleep, 1000
	    sendInput tDa Sie gerne Ihr Fahrzeug mit einem Notfallkit repariert haben möchten,{enter}
	sleep, 1000    
	    sendInput tbeträgt der Rechnungsbetrag %betrag%${enter}
 	sleep, 1000 
	    sendInput t>>>Ihr Fahrzeug ist ein %name%<<<{enter}
	sleep, 1000   
	    sendInput tBitte schreiben Sie /spay meineID %betrag%{enter}
}
} 
  }
    
loop
{
  Input , MyInput,V , {Enter}
  IfInString, MyInput, /kit2  ;Nachschauen ob /kit eingegeben wurde
  {
    StringTrimLeft, OutputVar, MyInput, 5   ; "/kit " = 4 + Leerzeichen = 5 zeichen nach links schieben
    url=http://meine 2. url.de/car.php?id=
    typ=&typ=1
    fahrzeugnamen=%url%%OutputVar%
    preiss=%url%%OutputVar%%typ%
    preisse=%url%%OutputVar%%typ%
    {
	sleep, 1500
        whx := ComObjCreate("WinHttp.WinHttpRequest.5.1")
        whx.Open("GET", preiss)
        whx.Send()
        whx.WaitForResponse(5)
        betrage := whx.ResponseText
	

	sleep, 1500

        why := ComObjCreate("WinHttp.WinHttpRequest.5.1")
        why.Open("GET", fahrzeugnamen)
        why.Send()
	why.WaitForResponse(5)
        names := why.ResponseText


	sleep, 1500

        whz := ComObjCreate("WinHttp.WinHttpRequest.5.1")
        whz.Open("GET", preisse)
        whz.Send()
	whz.WaitForResponse(5)
        spays := whz.ResponseText
	MsgBox % spays, % names, % betrage
        
       {
	sleep, 1000
	    sendInput tDa Sie gerne Ihr Fahrzeug mit einem Notfallkit repariert haben möchten,{enter}
	sleep, 1000    
	    sendInput tbeträgt der Rechnungsbetrag %betrage%${enter}
 	sleep, 1000 
	    sendInput t>>>Ihr Fahrzeug ist ein %names%<<<{enter}
	sleep, 1000   
	    sendInput tBitte schreiben Sie /spay meineID %spays%{enter}
    }
   } 
  }
}

Es wäre wirklich sehr nett, wenn einer weiter weiß und mir wirklich helfen kann.