Fungerar inte, tyvärr... Blir inte inloggad när jag kör filen.
Vad menar du "blir inte inloggad"? Det enda koden gör är att den postar två värden mot en URL (precis som webbläsaren). Däremot så kommer du inte att se nånting framför dina ögon. Vad är det du tror ska hända?
OK. Det är tele2:s inloggningssida? Nu har jag absolut ingen aning om hur den funkar så det enda jag kan säga är att den koden jag gav dig postar "i princip" samma sak som din HTML-sida. Och funkar din sida så borde den också funka.
Hade det nu inte varit https så kunde man ju dragit igång en sniffer och kollat skillnaden .. Men prova att lägga till:
WScript.Echo objHttp.responseText
på slutet för att se vad du får för svar.
Och i övrigt: Har du kollat att det inte finns några freeware-program som fixar det här problemet?
Dim objHttp, fso, fs, ArrOut, i
Set objHttp = CreateObject("Msxml2.XMLHTTP")
objHttp.open "POST", "https://login1.swipnet.se/login.php", False, "", ""
objHttp.send("username=****&password=****")
Set fso = CreateObject("Scripting.FilesystemObject")
Set fs = fso.CreateTextFile("e:\server\test.asp", 1, True)
ArrOut = Split(objHttp.responseText, VBCrLF)
For i = 0 To UBound(ArrOut)
fs.WriteLine ArrOut(i)
Next
Call CloseObj(fs)
Call CloseObj(fso)
Call CloseObj(objHttp)
Sub CloseObj(Obj)
Set Obj = Nothing
End Sub
/red Det störde mig att inte stänga objekten helt enkelt. Så jag ändrade lite i koden...
Ja, fast problemet är att script och bat-filer inte har några inbyggda eventsstyrda timers. Jag ser bara tre lösningar:
1. Använd schemalägaren (eller nåt motsvarande, AT tex).
2. Porta koden till ett Windowsprogram så du får tillgång till en timer.
3. Lägg in en oändlig loop i ditt VBScript som kollar hur mycket tid som förflutit mha DateDiff.
3:an "funkar" men är egentligen helt värdelös eftersom det suger en massa CPU till ingen nytta.