Toon posts:

[ASP] timeout probleem met xmlhttp

Pagina: 1
Acties:
  • 1.301 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik probeer een xml feed van een shoutcast server terug te krijgen in asp, maar ik krijg steeds een script-timeout bij het verbinden. Als ik de feed rechtstreeks opvraag in een browser gaat het wel goed.

Dit is het stukje code dat ik gebruik om verbinding te maken (mypass is niet het originele pw):
code:
1
2
3
4
5
6
7
8
9
URL = "http://83.83.17.98:8000/admin.cgi?pass=mypass&mode=viewxml&page=0"

xmlhttp.open "GET", URL, false

xmlhttp.setRequestHeader "user-agent", "mozilla"

xmlhttp.send "test"

xmlContent = xmlhttp.responseText


Shoutcast vraagt expliciet om een header waar de string 'mozilla' in voorkomt. Iemand misschien een idee wat er fout gaat?

Edit: als het nodig is paste ik nog wel even wat meer code :)

[ Voor 51% gewijzigd door Verwijderd op 03-06-2005 00:32 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Kun je misschien de foutmelding posten? En wat meer script? En heb je al naar de setTimeOuts method gekeken??

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


Verwijderd

Topicstarter
faabman schreef op vrijdag 03 juni 2005 @ 09:02:
Kun je misschien de foutmelding posten? En wat meer script? En heb je al naar de setTimeOuts method gekeken??
de foutmelding is een 'ASP 0113' - Script timed out (The maximum amount of time for a script to execute was exceeded.). die timeout komt pas na een seconde of 10, dus hij zou dan allang klaar moeten zijn...

hier nog wat meer info:

[url=]xml die opgehaald zou moeten worden[/url]
[url=]asp pagina[/url]

dank voor enig inzicht :)

[ Voor 20% gewijzigd door Verwijderd op 03-06-2005 16:21 ]


  • Apache
  • Registratie: Juli 2000
  • Laatst online: 03-05 14:38

Apache

amateur software devver

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function xhrAlert(src){

    var xmlhttp=new HTTP();

    xmlhttp.open("GET", src, true);

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4){

            xmlparser = XmlDocument.create();

            xmlparser.loadXML(xmlhttp.responseText);

            alert(xmlparser.getElementsByTagName("text")[0].childNodes[0].nodeValue);

        }

    }

    xmlhttp.send(null);

}


Dit gebruik ik, ik kan de onreadystatechange function overriden in javascript, ik weet niet of dat kan in de oude asp.

Anders kan je mss iets gebruiken als:
code:
1
2
3
4
5
while (xmlhttp.readyState != 4){

    xmlContent = xmlhttp.responseText

}

If it ain't broken it doesn't have enough features


Verwijderd

Topicstarter
Apache schreef op vrijdag 03 juni 2005 @ 09:40:

Anders kan je mss iets gebruiken als:
code:
1
2
3
4
5
while (xmlhttp.readyState != 4){

    xmlContent = xmlhttp.responseText

}
ik test het vanaf een live server, die while-do proberen vind ik wel een beetje link... volgens mij zit de fout ook niet echt in de timeout zelf. misschien zou een van jullie de asp eens kunnen runnen?.

[ Voor 17% gewijzigd door Verwijderd op 03-06-2005 10:29 ]


  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Veel kan er niet gebeuren, er ontstaat hooguit een client-side loop, maar het is inderdaad niet verstandig. Je weet nooit wat er mis kan gaan met een xmlhttp verbinding, als je afhankelijk bent van een server van derden.

Ik geef zelf de onreadystatechange listener al op voor ik .open en .send aanroep, misschien maakt dat verschil? Je zou ook een extra check op xmlhttp.status == 2 moeten toevoegen, hiermee controleer je of de pagina wel daadwerkelijk bestaat voordat je er resultaten uit gaat trekken (status codes: qlick).

Verwijderd

Topicstarter
mosymuis schreef op vrijdag 03 juni 2005 @ 10:48:
Veel kan er niet gebeuren, er ontstaat hooguit een client-side loop, maar het is inderdaad niet verstandig. Je weet nooit wat er mis kan gaan met een xmlhttp verbinding, als je afhankelijk bent van een server van derden.

Ik geef zelf de onreadystatechange listener al op voor ik .open en .send aanroep, misschien maakt dat verschil? Je zou ook een extra check op xmlhttp.status == 2 moeten toevoegen, hiermee controleer je of de pagina wel daadwerkelijk bestaat voordat je er resultaten uit gaat trekken (status codes: qlick).
ik krijg het helaas nog niet voor elkaar.

de timeout staat nu op 10 seconden, dus dat zou genoeg moeten zijn. de xmlhttp.status==2 lijkt me ook niet de oplossing, want de goede xml wordt aangeroepen en anders zou ik waarschijnlijk wel een page not found krijgen en geen script timeout?

grmbll: probleem moet toch ergens anders zitten, ik probeer nu een prefab script van iemand anders en dat timed ook out (op 2 verschillende servers geprobeerd) :(

foutmelding nu:

code:
1
2
3
Microsoft VBScript runtime error '800a01a8' 

Object required: 'objXMLDOM.SelectSingleNode(...)'


zou dat in kunnen houden dat beide servers geen XML DOM hebben/toestaan? volgens mij niet toch? het lijkt er meer op dat hij die specifieke node niet kan vinden, maar de naam klopt wel.

[ Voor 22% gewijzigd door Verwijderd op 03-06-2005 14:24 ]


Verwijderd

Topicstarter
ok ik heb het script nu helemaal kaalgeknipt, ik krijg hier nog steeds een timeout (tot 20 seconden geprobeerd). wie kan hem eens uitproberen? :)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%
  Dim xml, strData, url

  url = "http://83.83.17.98:8000/admin.cgi?pass=mypass&mode=viewxml"
  Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  xml.Open "GET", url, true
  Call xml.Send()

  'On Error Resume Next
   If xml.readyState <> 4 then
    xml.waitForResponse 10
  End If

  If Err.Number <> 0 then
    strData = "error"
  Else

    If (xml.readyState <> 4) Or (xml.Status <> 200) Then
      xml.Abort
            
      strData = "script timed out"
    Else
      strData = xml.ResponseText
    End If
  End If
  response.write strData
%>

[ Voor 18% gewijzigd door Verwijderd op 03-06-2005 16:21 ]


  • Dukey
  • Registratie: November 2000
  • Laatst online: 12-04 22:43

Dukey

Ik heb dit getypt hier -->

msxml3.dll error '80072efe'

The connection with the server was terminated abnormally

/small/test.asp, line 12

deze error krijg ik met jouw script...

EDIT: Na een refresh krijg ik wel de xml, maar dan in verkeerd formaat...hij displayed dus geen xml tree.

[ Voor 29% gewijzigd door Dukey op 03-06-2005 15:54 ]

Ook wel de allergrootste _ _ _ _ _ (vul in met blokletters)


Verwijderd

Topicstarter
Djoekie schreef op vrijdag 03 juni 2005 @ 15:52:
msxml3.dll error '80072efe'

The connection with the server was terminated abnormally

/small/test.asp, line 12

deze error krijg ik met jouw script...

EDIT: Na een refresh krijg ik wel de xml, maar dan in verkeerd formaat...hij displayed dus geen xml tree.
dat laatse kan wel kloppen denk ik, want hij propt nu alle xml in 1 variabele zonder iets te parsen.

maar die eerste foutmelding is toch wel vervelend..

edit: ik krijg zelf een:

code:
1
2
3
4
5
msxml3.dll error '8000000a' 

The data necessary to complete this operation is not yet available. 

test.asp, line 19


:'(

[ Voor 26% gewijzigd door Verwijderd op 03-06-2005 16:00 ]


  • Kermit.de.Kikker
  • Registratie: Februari 2002
  • Laatst online: 30-04 17:07
Ik heb met onderstaande code geen probleem, kreeg netjes een XML bestand te zien (Windows 2000 / IIS 5)
Verwijderd schreef op vrijdag 03 juni 2005 @ 15:33:
ok ik heb het script nu helemaal kaalgeknipt, ik krijg hier nog steeds een timeout (tot 20 seconden geprobeerd). wie kan hem eens uitproberen? :)

Verwijderd

Topicstarter
Kermit.de.Kikker schreef op vrijdag 03 juni 2005 @ 16:02:
Ik heb met onderstaande code geen probleem, kreeg netjes een XML bestand te zien (Windows 2000 / IIS 5)

[...]
B)

toch iets met de server(s) dan misschien? heb je misschien een linkje dat ik kan proberen?

  • Kermit.de.Kikker
  • Registratie: Februari 2002
  • Laatst online: 30-04 17:07
http://dev.blueskies.nl/test.asp
Verwijderd schreef op vrijdag 03 juni 2005 @ 16:08:
[...]


B)

toch iets met de server(s) dan misschien? heb je misschien een linkje dat ik kan proberen?

Verwijderd

Topicstarter
thanks!

ja fock dan heb ik kennelijk alleen maar toegang tot servers die xmlhttp requests firewallen oid :(

edit: zou je die asp daar even kunnen laten staan misschien? ik heb even de provider gebeld en die gaan kijken wat er misschien geblokkeerd is. :)

edit2:

"Het script functioneert niet omdat er over poort 8000 gecommuniceerd wordt en
deze poort op onze shared servers wegens beveiliging dicht staat."

[ Voor 41% gewijzigd door Verwijderd op 03-06-2005 16:47 ]

Pagina: 1