HEJ!
1. Använd [kod]-taggarna
2. Det låter som du inte ändrat till Visa egna http-fel. (Fjärde sista chkbox i Alternativ ska vara urbockad)
3. Varför gör du en loop, enklare att göra två frågor?
5 svar · 573 visningar · startad av radiomg
Denna koden ska visa vilken låt som spelas samt hur många som lyssnar på radion... Den ska hämta information från 2 st servrar.. Men det gör den inte =( .... Låt som spelas skriver man ut <%=currentsong%>
Koden är följande:
Dim intServer
Dim intServerCount
Dim ServerDomain()
Dim ServerPass()
Dim ServerPort()
Dim ServerURL()
Dim ServerStatus()
Dim CurrentSong()
Dim Users()
Dim MaxUsers()
Dim SongHistory()
Dim UserList()
intServer = 2 'Här anger du antal servrar
Redim ServerDomain(intServer)
ReDim ServerPass(intServer)
ReDim ServerPort(intServer)
ReDim ServerURL(intServer)
ReDim ServerStatus(intServer)
ReDim CurrentSong(intServer)
ReDim Users(intServer)
ReDim MaxUsers(intServer)
ReDim SongHistory(intServer)
ReDim UserList(intServer)
'Server 1 - Ange rätt info
ServerDomain(1) = "localhost" 'DOMAIN
ServerPass(1) = "" 'PASSWORD
ServerPort(1) = "" 'PORT
'Server 2 - Ange rätt info
ServerDomain(2) = "localhost" 'DOMAIN
ServerPass(2) = "" 'PASSWORD
ServerPort(2) = "" 'PORT
For intServerCount = 1 To intServer
'INITIATE XMLDOM ENGINE
Set objXMLDOM = Server.Createobject("Microsoft.XMLDOM")
objXMLDOM.async = False
objXMLDOM.setProperty "ServerHTTPRequest", True
ServerURL(intServerCount) = "http://"& ServerDomain(intServerCount) &":"& ServerPort(intServerCount) &"/admin.cgi?pass="& ServerPass(intServerCount) &"&mode=viewxml"
objXMLDOM.Load ServerURL(intServerCount)
'CREATE COLLECTIONS AND STUFF
ServerStatus(intServerCount) = objXMLDOM.SelectSingleNode("//STREAMSTATUS").text
CurrentSong(intServerCount) = objXMLDOM.SelectSingleNode("//SONGTITLE").text
Users(intServerCount) = objXMLDOM.SelectSingleNode("//CURRENTLISTENERS").text
MaxUsers(intServerCount) = objXMLDOM.SelectSingleNode("//MAXLISTENERS").text
Set SongHistory(intServerCount) = objXMLDOM.SelectNodes("//SONG")
Set UserList(intServerCount) = objXMLDOM.SelectNodes("//LISTENER")
Set objXMLDOM = Nothing
Next
Tacksam för svar ...
Glömde skriva felmeddelandet...
Detta kommer upp:
TTP 500.100 - Internt serverfel - ASP-fel
Internet Information Services
--------------------------------------------------------------------------------
Teknisk information (för supportpersonal)
Feltyp:
Response-objekt, ASP 0106 (0x80020005)
En ohanterad datatyp påträffades.
HEJ!
1. Använd [kod]-taggarna
2. Det låter som du inte ändrat till Visa egna http-fel. (Fjärde sista chkbox i Alternativ ska vara urbockad)
3. Varför gör du en loop, enklare att göra två frågor?
Tack för ditt svar..
Tyvärr så är det inte jag som har gjort scriptet. Detta är ett modifierat script som jag har fått hjälp med..
Du skulle inte vilja ändra scriptet och skicka det till mig eller lägga ut det här?
Skicka ett mail om du är intresserad till mickeman22@hotmail.com
Tack på förhand..
// Micke
HEJ!
Det är inte så svårt, förutsatt att det andra fungerar.
Kopiera
Set objXMLDOM = Server.Createobject("Microsoft.XMLDOM")
objXMLDOM.async = False
objXMLDOM.setProperty "ServerHTTPRequest", True
ServerURL(intServerCount) = "http://"& ServerDomain(intServerCount) &":"& ServerPort(intServerCount) &"/admin.cgi?pass="& ServerPass(intServerCount) &"&mode=viewxml"
objXMLDOM.Load ServerURL(intServerCount)
'CREATE COLLECTIONS AND STUFF
ServerStatus(intServerCount) = objXMLDOM.SelectSingleNode("//STREAMSTATUS").text
CurrentSong(intServerCount) = objXMLDOM.SelectSingleNode("//SONGTITLE").text
Users(intServerCount) = objXMLDOM.SelectSingleNode("//CURRENTLISTENERS").text
MaxUsers(intServerCount) = objXMLDOM.SelectSingleNode("//MAXLISTENERS").text
Set SongHistory(intServerCount) = objXMLDOM.SelectNodes("//SONG")
Set UserList(intServerCount) = objXMLDOM.SelectNodes("//LISTENER")
Set objXMLDOM = Nothing
två gånger, ersätt
ServerURL="http://adress1:port"/admin.cgi?pass=lösen&mode=viewxml"
objXMLDOM.Load ServerURL
(Dvs, ta bort alla arrayhänvisningar ())
ServerStatus = objXMLDOM.SelectSingleNode("//STREAMSTATUS").text
osv
ServerStatus innehåller då den texten.
Alla Redim kan du bort, Dim får kompletteras beroende på om du vill spara ServerStatus till längre ned på sidan. (ServerStatus1, ServerStatus2 tex)
hmm..
Har fått den att visa antal lyssnare och låtnamn.. MEN den visar fortfarande bara hur många lyssnare det är från den ena server.. Jag vill att den ska plusa på. Server 1 + server 2 = 30 lyssnare tex..
Den slutliga koden blev:
<%
Dim ServerDomain
Dim ServerPass
Dim ServerPort
Dim ServerURL
Dim ServerStatus
Dim CurrentSong
Dim Users
Dim MaxUsers
Dim SongHistory
Dim UserList
'Server 1 - Ange rätt info
ServerDomain = "localhost" 'DOMAIN
ServerPass = "xxx" 'PASSWORD
ServerPort = "8100" 'PORT
'Server 2 - Ange rätt info
ServerDomain = "localhost" 'DOMAIN
ServerPass = "xxx" 'PASSWORD
ServerPort = "8000" 'PORT
'INITIATE XMLDOM ENGINE
Set objXMLDOM = Server.Createobject("Microsoft.XMLDOM")
objXMLDOM.async = False
objXMLDOM.setProperty "ServerHTTPRequest", True
ServerURL = "http://"& ServerDomain &":"& ServerPort &"/admin.cgi?pass="& ServerPass &"&mode=viewxml"
objXMLDOM.Load ServerURL
ServerStatus = objXMLDOM.SelectSingleNode("//STREAMSTATUS").text
CurrentSong = objXMLDOM.SelectSingleNode("//SONGTITLE").text
Users = objXMLDOM.SelectSingleNode("//CURRENTLISTENERS").text
MaxUsers = objXMLDOM.SelectSingleNode("//MAXLISTENERS").text
'INITIATE XMLDOM ENGINE
Set objXMLDOM = Server.Createobject("Microsoft.XMLDOM")
objXMLDOM.async = False
objXMLDOM.setProperty "ServerHTTPRequest", True
ServerURL = "http://"& ServerDomain &":"& ServerPort&"/admin.cgi?pass="& ServerPass &"&mode=viewxml"
objXMLDOM.Load ServerURL
ServerStatus = objXMLDOM.SelectSingleNode("//STREAMSTATUS").text
CurrentSong = objXMLDOM.SelectSingleNode("//SONGTITLE").text
Users = objXMLDOM.SelectSingleNode("//CURRENTLISTENERS").text
MaxUsers = objXMLDOM.SelectSingleNode("//MAXLISTENERS").text
Set SongHistory = objXMLDOM.SelectNodes("//SONG")
Set UserList = objXMLDOM.SelectNodes("//LISTENER")
Set objXMLDOM = Nothing
%>
<%=Users%><%=currentsong%>
HEJ!
Ja, det är ju inte så konstigt :)
Om detta är den kod du använder gör du såhär nu:
Du sätter variabler för två olika servrar, men du skriver över server 1 med server 2:s värde eftersom du har samma variabelnamn (ServerDomain etc) för båda.
När du sedan hämtar med objXMLDOM hämtar du två gånger samma sak.
Gör såhär:
Skriv in servernamn etc i koden direkt:
ServerURL="http://adress1:port"/admin.cgi?pass=lösen&mode=viewxml"
Spara undan värdena för resp server i variabler med olika namn, CurrentSong1 resp CurrentSong2 tex. Då lovar jag att CurrentSong=CurrentSong1 + CurrentSong2 blir rätt! :e