webForumDet fria alternativet

skicka värden till svarssida med bat

Programmering

18 svar · 545 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Frågan#1

Tjena!

Kan jag skicka värden till en websida med en batfil så websidan behandlar dem?

Och i så fall... Hur skulle en sådan kunna se ut?
Kan man utan schemaläggaren få batfilen att skicka värdet med 15 minuters intervall oxå?

Medlem sedan juni 20022 599 inlägg
#2

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?

Medlem sedan maj 2002560 inlägg
#3

Vad jag tror ska hända...

Eftersom det postas till en loginsida som tar emot mina värden förväntar jag mig att bli inloggad på mitt internetkonto.

/red det blir jag inte då jag, när jag försöker surfa nånstans, får upp inloggningsrutan.

Medlem sedan juni 20022 599 inlägg
#4

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?

Medlem sedan maj 2002560 inlägg
#5

"Har du kollat att det inte finns några freeware-program som fixar det här problemet?"

Vet inte ens vad jag skall söka på.

Medlem sedan maj 2002560 inlägg
#6

echo

<html>
<head>
<title>Tele2 Bredband</title>
<SCRIPT>

function cancel()

 {
	      if(confirm("\n? du s?r p?tt du vill avsluta kontoaktiveringen?\n\nTryck OK f?tt avsluta kontoaktiveringen.\nOBS: Ditt konto ??u inte fullst?igt registrerat\noch du kommer d??nte att kunna anv?a ditt\nInternetabonnemang.\n\nTryck Avbryt/Cancel f?tt ?rg?ill kontoaktiveringen."))

   {
   window.location="javascript:self.close()";
   }
}
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000099" vlink="#800000" alink="#FFFF00" background="/images/bakgrund.gif">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
</tr>
<tr>
<td>
<img src="/images/head.gif" height="50" width=490 border=0 alt="Kontoaktivering">

<table>
<tr>
<td nowrap width="122" valign=bottom><img src="/images/px.gif" width=100  height=1 border=0 alt="">&#160;</td>
<td valign="top" width="468"><br>
<font face="arial,helvetica" COLOR="#000099" size="4"><b>LOGGA IN</b></font><br>
<font face="Arial,Helvetica" size="-1">
<br>
F&ouml;r att b&ouml;rja anv?a tj?ten m&aring;ste du logga in.<br>
Fyll i ditt Anv&auml;ndar-id och l&ouml;senord.
</font>
<br>
<form name=logonForm method="POST" action="/login.php">
<p>
<table cellspacing=0 border=0 cellpadding=2>
<tr>
<td>
<font face="Arial,Helvetica" size="-1">Anv&auml;ndar-id:</font><br>
<input type="text" name="username" value="" size="10" maxlength="20"><br>
<font face="arial" size="-2">Ex. k-12345</font>
</td>
<td>
<font face="Arial,Helvetica" size="-1">L&ouml;senord:</font><br>
<input type="password" name="password" size="11" maxlength="20"><br>
<font face="arial" size="-2">Ex. aBc-2h-j</font>
</td>
</tr>
</table>
<font face="Arial,Helvetica" size="-1">
Tryck p&aring; knappen <B>&#34;Forts&auml;tt&#34;</B> f&ouml;r att g&aring; vidare.
</font>
<TABLE BORDER=0>
<TR>
<TD>
<input type="submit" STYLE="color: white; background: gray" name="submit" value=
"Forts&auml;tt"></A>
</TD>
<TD width=15></TD>
<TD>
<A HREF="javascript:cancel()"><input type="button" style="color: white; background: gray" value=" Avsluta " onClick="cancel()"></A>
</TD>
</TR>
</TABLE>
</form>
</td>
</tr>
</table>

<script language="javascript">
  document.logonForm.username.focus();
</script>

</td>
</tr>
</table>
</body>
</html>
Medlem sedan juni 20022 599 inlägg
#7

Hmm .. Den responsen säger mig inte så mycket. Det ser mest ut som om du blivit redirectad tillbaka till inloggningen.

Kan du visa exakt den vbs-kod du använder, fast med användarnamn/lösenord utbytta mot "xxx" och "yyy"?

Medlem sedan maj 2002560 inlägg
#8
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...

Medlem sedan juni 20022 599 inlägg
#9

Tyvärr. Jag har ingen förklaring, om din lokala html-sida funkar så borde den koden också funka. Du kan prova att slänga in:

objHttp.setRequestHeader "Content-Type: application/x-www-form-urlencoded"
objHttp.setRequestHeader "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)"

mellan .open och .send, men chansen är liten.

Medlem sedan maj 2002560 inlägg
#10
Wrong number of arguments or invalid property assignment:'setRequestHeader'
Medlem sedan juni 20022 599 inlägg
#11
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.setRequestHeader "User-Agent" , "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)"
Medlem sedan maj 2002560 inlägg
#12

YES! Tack Ska du ha Nico...

Medlem sedan juni 20022 599 inlägg
#13

Det var som .. Isåf kan du nog prova att remma bort raden med "User-Agent". Antagligen är det bara den första som behövs.

Medlem sedan maj 2002560 inlägg
#14

stämmer bra det

Dim objHttp
Set objHttp = CreateObject("Msxml2.XMLHTTP")
objHttp.open "POST", "https://login1.swipnet.se/login.php", False, "", ""
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.send("username=****&password=****")
Set objHttp = Nothing
Medlem sedan maj 2002560 inlägg
#15

Hur skriver jag den bat-fil som kör denna kod/fil var 15:e minut?

Medlem sedan juni 20022 599 inlägg
#16

Det gör du inte. Du kan väl lägga in vbs-filen direkt i schemaläggaren?

Medlem sedan maj 2002560 inlägg
#17

Jag vill inte använda schemaläggaren...

Medlem sedan juni 20022 599 inlägg
#18

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.

Medlem sedan maj 2002560 inlägg
#19

Kanske skall köra med schemaläggare ändå...

Stort tack för de sex raderna kod iaf : ) :bire

406 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
125 ms — deklarationer (db)
139 ms — hämta statistik (db)
139 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)