[VBScript] Samurize script geeft problemen

Pagina: 1
Acties:

  • Baudje
  • Registratie: Juli 2002
  • Laatst online: 16-08 22:15
Het volgende VBScriptje wordt door veel mensen gebruikt om met Serious Samurize de tvgids op je desktop te plaatsen. Het leest een webpagina in en schrijft de relevante gegevens weg in een teksfile.
Meerdere mensen krijgen na een dag ofzo problemen. De internetconnectie valt dan weg, althans de mogelijkheid om connecties te leggen. Het ligt waarschijnlijk aan dit scriptje, dat wellicht de sockets oid niet vrijgeeft. Is er iemand die zonder er veel tijd aan te besteden kan zien of dit script de boosdoener kan zijn?

DutchTV.zip

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
wat heb je zelf zoal geprobeerd??? en zet eens de relevante stukken van dat script in je post...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

misschien blokkeert tvgids.nl de gebruiker zijn ip wel.

grote kans dat dat het is, omdat door dat script de site heel veel requests krijgt

Multimonitor is relax :P


  • Baudje
  • Registratie: Juli 2002
  • Laatst online: 16-08 22:15
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Function ReturnHTML(sURL)
    Dim objXMLHTTP,HTML
    Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
    Randomize
    sURL = sURL & "?" & Rnd
    objXMLHTTP.Open "GET", sURL, False
    objXMLHTTP.Send
    HTML = objXMLHTTP.responseBody
    Set objRS = CreateObject("ADODB.Recordset")
    objRS.Fields.Append "txt", 200, 45000, &H00000080
    objRS.Open
    objRS.AddNew
    objRS.Fields("txt").AppendChunk HTML
    ReturnHTML = objRS("txt").Value
    objRS.Close
    Set objRS = Nothing
    Set objXMLHTTP = Nothing
End Function


Dit is het stukje script dat de pagina ophaalt. Ik heb niets getest, ben redelijke n00b in vbs. (alhoewel ik mijn zelf toegevoegde if-then-else-jes geniaal vind...... :P )
iig, het is niet veel code, nog geen 200 regels. Moet niet heel moeilijk zijn om een evt. fout uit te halen.

  • Baudje
  • Registratie: Juli 2002
  • Laatst online: 16-08 22:15
MeIsTwisted schreef op 17 februari 2004 @ 17:21:
misschien blokkeert tvgids.nl de gebruiker zijn ip wel.

grote kans dat dat het is, omdat door dat script de site heel veel requests krijgt
Dat is het in ieder geval niet, na herstart is er niets aan de hand en ik kan daarvoor ook andere ip's niet meer bereiken.
Ook lijkt het geheugen langzaam vol te lopen.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
ASP:
1
2
3
4
5
6
7
8
    Set objRS = CreateObject("ADODB.Recordset")
    objRS.Fields.Append "txt", 200, 45000, &H00000080
    objRS.Open
    objRS.AddNew
    objRS.Fields("txt").AppendChunk HTML
    ReturnHTML = objRS("txt").Value
    objRS.Close
    Set objRS = Nothing


ik heb zelf nog nooit van deze routine in deze vorm gebruik gemaakt, maar, het lijkt me niet dat dit nodig is, volgens mij kun je ook gewoon doen

daarnaast wordt in deze routine geen objRS.Update gedaan, dit moet wel worden gedaan... (http://www.devguru.com/Te...ref/recordset_addnew.html) lijkt me dat er een buffer-overflow of iets dergelijks ontstaat op de manier die jij gebruikt...

ASP:
1
2
3
4
5
6
7
8
9
10
Private Function ReturnHTML(sURL)
    Dim objXMLHTTP,HTML
    Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
    Randomize
    sURL = sURL & "?" & Rnd
    objXMLHTTP.Open "GET", sURL, False
    objXMLHTTP.Send
    ReturnHTML  = objXMLHTTP.responseBody
    Set objXMLHTTP = Nothing
End Function

[ Voor 21% gewijzigd door faabman op 17-02-2004 18:20 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Baudje
  • Registratie: Juli 2002
  • Laatst online: 16-08 22:15
FvKnijff schreef op 17 februari 2004 @ 18:14:

daarnaast wordt in deze routine geen objRS.Update gedaan, dit moet wel worden gedaan... (http://www.devguru.com/Te...ref/recordset_addnew.html) lijkt me dat er een buffer-overflow of iets dergelijks ontstaat op de manier die jij gebruikt...

ASP:
1
2
3
4
5
6
7
8
9
10
Private Function ReturnHTML(sURL)
    Dim objXMLHTTP,HTML
    Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
    Randomize
    sURL = sURL & "?" & Rnd
    objXMLHTTP.Open "GET", sURL, False
    objXMLHTTP.Send
    ReturnHTML  = objXMLHTTP.responseBody
    Set objXMLHTTP = Nothing
End Function
Ik heb deze laatste functie ingevoegd, dus ipv de oude. Het werkt dan niet, script geeft door
code:
1
2
3
4
htmlResult = ReturnHTML("http://www.tvgids.nl/nustraks.php?alle=TRUE")
    
    If InStr(htmlResult, "<title>TV Gids Online</title>") = 0 Then
        textToWrite = "Site format has changed." & vbCrlf & "Script has failed."

de hierboven genoemde foutmelding.
Blijkbaar is
code:
1
ReturnHTML  = objXMLHTTP.responseBody //dit is regel 8 van hierboven
een lege string
offtopic:
sorry voor opmaak vern**k

[ Voor 8% gewijzigd door Baudje op 17-02-2004 20:58 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
is geen lege string, maar chunked data... dan is er nog een 2e oplossing mogelijk

daarnaast wordt in deze routine geen objRS.Update gedaan, dit moet wel worden gedaan... [voor link zie vorige post] lijkt me dat er een buffer-overflow of iets dergelijks ontstaat op de manier die jij gebruikt...

[ Voor 12% gewijzigd door faabman op 17-02-2004 21:26 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

In Programming & Webscripting is dit een ordinaire scriptrequest, maar na overleg met de heren SA-mods zag men er wel een nobel streven in om een Samurize script te fixen, dus moved :)

Professionele website nodig?


  • Baudje
  • Registratie: Juli 2002
  • Laatst online: 16-08 22:15
curry684 schreef op 17 februari 2004 @ 21:37:
In Programming & Webscripting is dit een ordinaire scriptrequest, maar na overleg met de heren SA-mods zag men er wel een nobel streven in om een Samurize script te fixen, dus moved :)
Ok bedankt (denk ik) Hopen dat FvKnijff het topic nog kan vinden...
FvKnijff schreef op 17 februari 2004 @ 21:26:
is geen lege string, maar chunked data... dan is er nog een 2e oplossing mogelijk

daarnaast wordt in deze routine geen objRS.Update gedaan, dit moet wel worden gedaan... [voor link zie vorige post] lijkt me dat er een buffer-overflow of iets dergelijks ontstaat op de manier die jij gebruikt...
Het is overigens niet mijn scriptje, ik heb alleen 6 regeltjes toegevoegd opdat de url's naar de programma's ook werden weggeschreven.
Ik weet dus ook niet wat 'gewoon' is, of welke 2e oplossing je op doelt.
Ik heb toch maar iets geprobeerd nav je link.
code:
1
2
3
4
5
6
7
8
9
10
Set objRS = CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", 200, 45000, &H00000080
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk HTML
ReturnHTML = objRS("txt").Value
objRS.Update                   //deze toegevoegd, of moet 'ie een regel hoger??
objRS.Close
Set objRS = Nothing
Set objXMLHTTP = Nothing

Ik zal hem eens een nachtje laten lopen, kijken of er nog problemen zijn

[ Voor 4% gewijzigd door Baudje op 17-02-2004 23:22 ]

Pagina: 1