Hejsan! Plugins script jag hittade, dock har jag inte testat det. Place the following code into the general declarations area of a bas module: Fungerar detta till asp? Känns som att det är till VB? mmm, du får göra ett COM object av det och köra på servern. Precis, en liten dll så fixar det sig. Hittade ett lite smidigare sätt att få fram isp-adressen. Jag använder mig av request.servervariables("REMOTE_HOST") och så aktiverar jag det på servern annars returnerar den bara ip-adressen. Hur man gör finns på http://support.microsoft.com/default.aspx?scid=kb;[LN];245574 eller http://www.asp101.com/tips/index.asp?id=80Statistik: Land, kontinent, plugins, sökmotor, sökord
Har tänkt att göra en statistik funktion. Då vet jag inte riktigt hur jag skall göra följande saker:
För att jag skall kunna ta reda på land och kontinent så behöver jag veta isp-adressen. Hur får man reda på den? exempelvis: c-0c0000d0.000-00-00000000.cust.bredbandsbolaget.se. Finns det sedan nåt lätt sätt att ta reda på kontinent, eller är det bara att sortera in dom i kontinenter?
Jag skall ta reda på vilka plugins en användare har. Hur gör man det på lättast sätt? Dom vanliga... Flash, Shockwave, Quicktime, RealMedia, WindowsMedia, Acrobat Reader. En sak som hade varit bra, vilken version det är. Speciellt på Flash.
Hur tar man reda på om det kommer från en sökmotor? Även vilka sökord som är använda? Är det bara att ta vilken referrer och lägga till vilka adresser som är sökmotorer?
Mvh
GranqvistSv: Statistik: Land, kontinent, plugins, sökmotor, sökord
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Visa plugins </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!--
numPlugins = navigator.plugins.length;
if (numPlugins > 0)
document.writeln("<b><font size=+3>Installed plug-ins</font></b><br>");
else
document.writeln("<b><font size=+2>No plug-ins ");
document.writeln("are installed.</font></b><br>");
document.writeln("<hr>");
for (i = 0; i < numPlugins; i++) {
plugin = navigator.plugins[i];
document.write("<center><font size=+1><b>");
document.write(plugin.name);
document.writeln("</b></font></center><br>");
document.writeln("<dl>");
document.writeln("<dd>File name:");
document.write(plugin.filename);
document.write("<dd><br>");
document.write(plugin.description);
document.writeln("</dl>");
document.writeln("<p>");
document.writeln("<table width=100% border=2 cellpadding=5>");
document.writeln("<tr>");
document.writeln("<th width=20%><font size=-1>Mime Type</font></th>");
document.writeln("<th width=50%><font size=-1>Description</font></th>");
document.writeln("<th width=20%><font size=-1>Suffixes</font></th>");
document.writeln("<th><font size=-1>Enabled</th>");
document.writeln("</tr>");
numTypes = plugin.length;
for (j = 0; j < numTypes; j++) {
mimetype = plugin[j];
if (mimetype) {
enabled = "No";
enabledPlugin = mimetype.enabledPlugin;
if (enabledPlugin && (enabledPlugin.name == plugin.name))
enabled = "Yes";
document.writeln("<tr align=center>");
document.writeln("<td>");
document.write(mimetype.type);
document.writeln("</td>");
document.writeln("<td>");
document.write(mimetype.description);
document.writeln("</td>");
document.writeln("<td>");
document.write(mimetype.suffixes);
document.writeln("</td>");
document.writeln("<td>");
document.writeln(enabled);
document.writeln("</td>");
document.writeln("</tr>");
}
}
document.write("</table>");
document.write("<p><hr><p>");
}
// End -->
</SCRIPT>
</CENTER>
</BODY>
</HTML>Sv: Statistik: Land, kontinent, plugins, sökmotor, sökord
--------------------------------------------------------------------------------
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ©1996-2004 VBnet, Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
' applications, but you may not reproduce
' or publish this code on any web site,
' online service, or distribute as source
' on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Const WSADescription_Len As Long = 256
Private Const WSASYS_Status_Len As Long = 128
Private Const WS_VERSION_REQD As Long = &H101
Private Const IP_SUCCESS As Long = 0
Private Const SOCKET_ERROR As Long = -1
Private Const AF_INET As Long = 2
Private Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription(0 To WSADescription_Len) As Byte
szSystemStatus(0 To WSASYS_Status_Len) As Byte
imaxsockets As Integer
imaxudp As Integer
lpszvenderinfo As Long
End Type
Private Declare Function WSAStartup Lib "wsock32" _
(ByVal VersionReq As Long, _
WSADataReturn As WSADATA) As Long
Private Declare Function WSACleanup Lib "wsock32" () As Long
Private Declare Function inet_addr Lib "wsock32" _
(ByVal s As String) As Long
Private Declare Function gethostbyaddr Lib "wsock32" _
(haddr As Long, _
ByVal hnlen As Long, _
ByVal addrtype As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" _
(xDest As Any, _
xSource As Any, _
ByVal nbytes As Long)
Private Declare Function lstrlen Lib "kernel32" _
Alias "lstrlenA" _
(lpString As Any) As Long
Public Function SocketsInitialize() As Boolean
Dim WSAD As WSADATA
SocketsInitialize = WSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS
End Function
Public Sub SocketsCleanup()
If WSACleanup() <> 0 Then
MsgBox "Windows Sockets error occurred in Cleanup.", vbExclamation
End If
End Sub
Public Function GetHostNameFromIP(ByVal sAddress As String) As String
Dim ptrHosent As Long
Dim hAddress As Long
Dim nbytes As Long
If SocketsInitialize() Then
'convert string address to long
hAddress = inet_addr(sAddress)
If hAddress <> SOCKET_ERROR Then
'obtain a pointer to the HOSTENT structure
'that contains the name and address
'corresponding to the given network address.
ptrHosent = gethostbyaddr(hAddress, 4, AF_INET)
If ptrHosent <> 0 Then
'convert address and
'get resolved hostname
CopyMemory ptrHosent, ByVal ptrHosent, 4
nbytes = lstrlen(ByVal ptrHosent)
If nbytes > 0 Then
sAddress = Space$(nbytes)
CopyMemory ByVal sAddress, ByVal ptrHosent, nbytes
GetHostNameFromIP = sAddress
End If
Else: MsgBox "Call to gethostbyaddr failed."
End If 'If ptrHosent
SocketsCleanup
Else: MsgBox "String passed is an invalid IP."
End If 'If hAddress
Else: MsgBox "Sockets failed to initialize."
End If 'If SocketsInitialize
End Function
'--end block--'
Form Code
To a form add a command button (Command1) and two text boxes (Text1 and Text2), along with the following one-liner:
--------------------------------------------------------------------------------
Private Sub Command1_Click()
Text2.Text = GetHostNameFromIP(Text1.Text)
End Sub
'--end block--'
Sv: Statistik: Land, kontinent, plugins, sökmotor, sökord
Mvh
GranqvistSv: Statistik: Land, kontinent, plugins, sökmotor, sökord
Sv: Statistik: Land, kontinent, plugins, sökmotor, sökord
Du får ju ändra lite i koden också.Sv: Statistik: Land, kontinent, plugins, sökmotor, sökord
Mvh
Granqvist