Tjena, En inte allt för snygg lösning är http://www.pellesoft.se/communicate/tips/tips.aspx?tid=777. Bara att parsa resultatet så kan du få fram det du vill. Kolla in argumenten -n och -w till pin g för att snabba upp pingen också. Har testat den, men får felmess: Du kan inte använda http://www.dnsstuff.com/ till något då? (lite xmlhttp dvs.)Ping / DNS fråga med ASP
sitter fast i ett litet projekt, och behöver en hjälpande hand innan jag börjar slita mitt hår...
mina programmeringskunskaper är dels grundläggande, och dessutom rostiga... "so bare with me" :)
"bakgrunds info:"
PWS & MySQL rullar på en Win XP Pro SP1 burk. Kör utan WINS, endast DNS i domänen. Finns ett flertal DNS suffix.
Problem:
Jag vill med hjälp av en ASP sida (EJ .net) få fram vilken IP adress en dator har. Denna IP adress skall läsas in i en variabel, för att kunna matchas mot databas mm. Jag vet att ASP i sig inte kan skapa de sockets som krävs för att utföra en ping, utan jag behöver ett COM object att anropa. Har hittat några på nätet, men är osäker på om de är bra eller ej...
Vid ping från en Win CMD prompt kan man få 3 svar:
1. "Reply from computer1 [192.168.0.3]" - datorn är online
1. "ping request could not find host computer2. Please check name and try again" - antingen finns inte datornamnet, eller så har den varit offline för länge för att DNS skall ha kvar ett 'record' på den.
2. "Pinging computer3 [192.168.0.5] with 32 bytes of data: Request Timed out" - datorn har varit online såpass nyligen att DNS fortfarande har 'record' på den.
Det jag vill göra är att i exempel 1 och 3 fånga upp IP adressen (192.168.0.3 i ex.1, och 192.168.0.5 i ex.3), och vid exempel 2 skriva ut något på ASP sidan.
Jag har testat en del med olika COM Object, och lyckats få det att funka bra när måldatorn är online eller inte finns alls (exempel 2 här ovan), men jag behöver få med exempel 3 i lösningen också...
Antingen får jag skriva om allting (vilket jag gärna gör om det fungerar sen.. ) med ett nytt COM object, eller så får jag på något sätt fånga upp felmesset som blir vid exempel 2 och sedan göra en NSLOOKUP på datornamnet... Men hur göra jag det i så fall?? :)
kort sammanfattning: (hur gör jag....)
antingen hur jag löser mitt problem på ett helt nytt sätt
eller fånga upp felmesset och göra NSLOOKUP
någon som fårstår vad jag menar? :)
någon som har en lösning / kan peka mig i rätt riktning? :)
Sv: Ping / DNS fråga med ASP
/JohanSv:Ping / DNS fråga med ASP
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services
--------------------------------------------------------------------------------
Technical Information (for support personnel)
Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied
/pingproject/ping_cmd.asp, line 17
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; F-6.0SP1-20030218)
Page:
GET /pingproject/ping_cmd.asp
Time:
den 21 januari 2005, 11:43:43
-----------------------------------------------------------------------------------
inställningar jag har:
IUSR_ kontot är lokal admin på burken där PWS:en rullar
har script & executables permissions på mappen där asp sidan ligger
har satt read & write rättigheter på en undermapp, i vilken jag skriver ut textfilen
så här ser rad 17 ut i min sida:
Shl.run "%comspec% /c ping 127.0.0.1 > c:\inetpub\wwwroot\pingproject\script\output\testping.txt",0,true
Sv:Ping / DNS fråga med ASP