Asp Ipcountry > Asp IPCountry / Ipcountry.asp

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Asp Ipcountry

Download:
asp-ipcountry.zip

Category:
Web Traffic Analysis

Archive Content:

Asp IPCountry

Ipcountry.asp:

<HTML>
<HEAD><TITLE>
IP - Country Database Demo in Active Server Pages (ASP)
</TITLE></HEAD>
<BODY bgcolor="#FFFFFF">
<h1><b><u>Lookup Country by IP Address</u></h1></b>
Enter a dotted IP address (xxx.xxx.xxx.xxx)<br>
<%
'---------------------------------------------------------------------------
' Title        : IP Address to Country Lookup Service using Database
' Requirements : ASP 2.0+ and MS-ACCESS
' Installation : a. Copy this asp file (ipcountry.asp) and mdb database file (ipcountry.mdb)
'                  into a web directory.
'                b. Browse this webpage (ipcountry.asp) using http protocol.
'                  Example: http://localhost/demo/ipcountry.asp
'                c. Enter an IP address range and click submit.
'
' Author      : Jgsoft Associates
' URL          : http://www.analysespider.com/ip2country
' Email        : sales <at> analysespider <dot> com
'
' Copyright (c) 2003 by Jgsoft Associates
'---------------------------------------------------------------------------

 Response.Write "  <form action=""" & Request("SCRIPT_NAME") & """ method=""POST"">" & vbCrLf
 Response.Write "    <input type=""text"" name=""ipaddress"">" & vbCrLf
 Response.Write "    <input type=""submit"" name=""submit"" value=""submit"">" & vbCrLf
 Response.Write "  </form>" & vbCrLf
 
 If Not Request.Form("ipaddress") = "" Then
  
  ' get the IP address from the form
  ipaddress = Request.Form("ipaddress")
  country = IP2Country(ipaddress)
  Response.Write "<p>"
  Response.Write "<h1><u>Lookup Result</u></h1>"
  Response.Write "<table>"
   
  Response.Write "<tr><td>IP Address : </td><td><b>" & ipaddress & "</b></td></tr>" & vbCrLf
  If ipaddress = "" Then
  Response.Write "<tr><td>Country Name : </td><td><b> N/A </b></td></tr>" & vbCrLf
  Response.Write "<tr><td>Country Name (Long)  : </td><td><b> N/A </b></td></tr>" & vbCrLf
  Else
  Response.Write "<tr><td>Country Name : </td><td><b>" & country & "</b></td></tr>" & vbCrLf
  Response.Write "<tr><td>Country Name (Long)  : </td><td><b>" & CountryName(country) & "</b></td></tr>" & vbCrLf
  End If
  
  Response.Write "</table>"
  Response.Write "</p>"
 End If



Public Function IP2Country(ByVal ipaddress)
 Dim conn, rs, sql, accessdb, strconn
 Dim ipno, ipcountry

 ipcountry=""
 ipno = Dot2LongIP(ipaddress)
 ' select MS-Access database using DSNless connection
 accessdb = server.mappath("ipcountry.mdb")
 strconn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
 strconn = strconn & accessDB & ";"
 Set conn = Server.CreateObject("ADODB.Connection")
 conn.open strconn
   
 ' query string to lookup the country by matching the range of IP address number
 strsql = "SELECT * FROM ipcountry WHERE " & ipno & " BETWEEN begin_num AND end_num"
   
 ' execute the query
 Set rs = conn.execute(strsql)

 If Not rs.EOF Then
  ipcountry = rs("country")
 End If

 rs.close
 set rs = nothing
 conn.close
 Set conn = nothing
 
  IP2Country= ipcountry
End function


' Convert dotted IP address into IP number in long
Function Dot2LongIP (ByVal DottedIP)
 Dim i, pos
 Dim PrevPos, num
 If DottedIP = "" Then
  Dot2LongIP = 0
 Else
  For i = 1 To 4
   pos = InStr(PrevPos + 1, DottedIP, ".", 1)
   If i = 4 Then
    pos = Len(DottedIP) + 1
   End If
   num = Int(Mid(DottedIP, PrevPos + 1, pos - PrevPos - 1))
   PrevPos = pos
   Dot2LongIP = ((num Mod 256) * (256 ^ (4 - i))) +  Dot2LongIP
  Next
 End If
End Function

//Get the real IP address of the user
Public Function GetClientIP()
 dim uIpAddr
 uIpAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
 If uIpAddr = "" Then
  uIpAddr = Request.ServerVariables("REMOTE_ADDR")

 GetClientIP = uIpAddr
End function

Function CountryName(sAbb)
sAbb = UCASE(sAbb)  'Caps
sLetter = Left(sAbb, 1)
If sLetter = "A" Then
 Select Case sAbb
  Case "AE"
  CountryName = "United Arab Emirates"
  Case "AF"
  CountryName = "Afghanistan"
  Case "AL"
  CountryName = "Albania"
  Case "AS"
  CountryName = "American Samoa"
  Case "AD"
  CountryName = "Andorra"
  Case "AO"
  CountryName = "Angola"
  Case "AI"
  CountryName = "Anguilla"
  Case "AQ"
  CountryName = "Antarctica"
  Case "AG"
  CountryName = "Antigua and Barbuda"
  Case "AR"
  CountryName = "Argentina"
  Case "AN"  '#
  CountryName = "Netherlands Antilles"
  Case "AM"
  CountryName = "Armenia"
  Case "AW"
  CountryName = "Aruba"
  Case "AU"
  CountryName = "Australia"
  Case "AT"
  CountryName = "Austria"
  Case "AZ"
  CountryName = "Azerbaijan"
  End Select
ElseIf sLetter = "B" Then
  Select Case sAbb
  Case "BS"
  CountryName = "Bahamas"
  Case "BH"
  CountryName = "Bahrain"
  Case "BD"
  CountryName = "Bangladesh"
  Case "BB"
  CountryName = "Barbados"
  Case "BY"
  CountryName = "Belarus"
  Case "BE"
  CountryName = "Belgium"
  Case "BZ"
  CountryName = "Belize"
  Case "BJ"
  CountryName = "Benin"
  Case "BM"
  CountryName = "Bermuda"
  Case "BT"
  CountryName = "Bhutan"
  Case "BO"
  CountryName = "Bolivia"
  Case "BA"
  CountryName = "Bosnia and Herzegovina"
  Case "BW"
  CountryName = "Botswana"
  Case "BV"
  CountryName = "Bouvet Island"
  Case "BR"
  CountryName = "Brazil"
  Case "BN"
  CountryName = "Brunei Darussalam"
  Case "BG"
  CountryName = "Bulgaria"
  Case "BF"
  CountryName = "Burkina Faso"
  Case "BI"
  CountryName = "Burundi"
  End Select
ElseIf sLetter = "C" Then
  Select Case sAbb
  Case "CH" '#
  CountryName = "Switzerland"   
  Case "CM"
  CountryName = "Cameroon"
  Case "CA"
  CountryName = "Canada"
  Case "CV"
  CountryName = "Cape Verde"
  Case "CF"
  CountryName = "Central African Republic"
  Case "CL"
  CountryName = "Chile"
  Case "CN"
  CountryName = "China"
  Case "CX"
  CountryName = "Christmas Island"
  Case "CC"
  CountryName = "Cocos (Keeling Islands)"
  Case "CO"
  CountryName = "Colombia"
  Case "CG"
  CountryName = "Congo"
  Case "CK"
  CountryName = "Cook Islands"
  Case "CR"
  CountryName = "Costa Rica"
  Case "CI"
  CountryName = "Cote D'Ivoire (Ivory Coast)"
  Case "CU"
  CountryName = "Cuba"
  Case "CY"
  CountryName = "Cyprus"
  Case "CZ"
  CountryName = "Czech Republic"
  End Select
ElseIf sLetter = "D" Then
  Select Case sAbb
  Case "DE"  '#
  CountryName = "Germany"
  Case "DZ"
  CountryName = "Algeria"   
  Case "DK"
  CountryName = "Denmark"
  Case "DJ"
  CountryName = "Djibouti"
  Case "DM"
  CountryName = "Dominica"
  Case "DO"
  CountryName = "Dominican Republic"
  End Select
ElseIf sLetter = "E" Then
  Select Case sAbb
  Case "ES"
  CountryName = "Spain"
  Case "EH"
  CountryName = "Western Sahara"  
  Case "EC"
  CountryName = "Ecuador"
  Case "EG"
  CountryName = "Egypt"
  Case "ER"
  CountryName = "Eritrea"
  Case "EE"
  CountryName = "Estonia"
  Case "ET"
  CountryName = "Ethiopia"
  End Select 
ElseIf sLetter = "F" Then
  Select Case sAbb
  Case "FK"
  CountryName = "Falkland Islands (Malvinas)"
  Case "FO"
  CountryName = "Faroe Islands"
  Case "FJ"
  CountryName = "Fiji"
  Case "FI"
  CountryName = "Finland"
  Case "FR"
  CountryName = "France"
  Case "FX"
  CountryName = "France, Metropolitan"
  Case "FM"
  CountryName = "Micronesia"
  End Select
ElseIf sLetter = "G" Then
  Select Case sAbb
  Case "GF"
  CountryName = "French Guiana"
  Case "GA"
  CountryName = "Gabon"
  Case "GM"
  CountryName = "Gambia"
  Case "GE"
  CountryName = "Georgia"
  Case "GH"
  CountryName = "Ghana"
  Case "GI"
  CountryName = "Gibraltar"
  Case "GR"
  CountryName = "Greece"
  Case "GL"
  CountryName = "Greenland"
  Case "GD"
  CountryName = "Grenada"
  Case "GS"  '#
  CountryName = "S. Georgia and S. Sandwich Isls." 
  Case "GQ"  '#
  CountryName = "Equatorial Guinea"
  Case "GP"
  CountryName = "Guadeloupe"
  Case "GU"
  CountryName = "Guam"
  Case "GT"
  CountryName = "Guatemala"
  Case "GN"
  CountryName = "Guinea"
  Case "GW"
  CountryName = "Guinea-Bissau"
  Case "GY"
  CountryName = "Guyana"
  End Select
ElseIf sLetter = "H" Then
  Select Case sAbb    
  Case "HT"
  CountryName = "Haiti"
  Case "HM"
  CountryName = "Heard and McDonald Islands"
  Case "HN"
  CountryName = "Honduras"
  Case "HK"
  CountryName = "Hong Kong"
  Case "HR"
  CountryName = "Croatia (Hrvatska)"
  Case "HU"
  CountryName = "Hungary"
  End Select
ElseIf sLetter = "I" Then
  Select Case sAbb
  Case "IS"
  CountryName = "Iceland"
  Case "IN"
  CountryName = "India"
  Case "ID"
  CountryName = "Indonesia"
  Case "IO"  '#
  CountryName = "British Indian Ocean Territory"
  Case "IR"
  CountryName = "Iran"
  Case "IQ"
  CountryName = "Iraq"
  Case "IE"
  CountryName = "Ireland"
  Case "IL"
  CountryName = "Israel"
  Case "IT"
  CountryName = "Italy"
  End Select
ElseIf sLetter = "J" Then
  Select Case sAbb 
  Case "JM"
  CountryName = "Jamaica"
  Case "JP"
  CountryName = "Japan"
  Case "JO"
  CountryName = "Jordan"
  End Select
ElseIf sLetter = "K" Then
  Select Case sAbb
  Case "KH"
  CountryName = "Cambodia"
  Case "KM"
  CountryName = "Comoros"
  Case "KY"
  CountryName = "Cayman Islands"
  Case "KN"
  CountryName = "Saint Kitts and Nevis" 
  Case "KZ"
  CountryName = "Kazakhstan"
  Case "KE"
  CountryName = "Kenya"
  Case "KI"
  CountryName = "Kiribati"
  Case "KP"
  CountryName = "Korea (North) (People's Republic)"
  Case "KR"
  CountryName = "Korea (South) (Republic)"
  Case "KW"
  CountryName = "Kuwait"
  Case "KG"
  CountryName = "Kyrgyzstan (Kyrgyz Republic)"
  End Select
ElseIf sLetter = "L" Then
  Select Case sAbb
  Case "LC" '#
  CountryName = "Saint Lucia"
  Case "LA"
  CountryName = "Laos"
  Case "LV"
  CountryName = "Latvia"
  Case "LB"
  CountryName = "Lebanon"
  Case "LK"  '#
  CountryName = "Sri Lanka"
  Case "LS"
  CountryName = "Lesotho"
  Case "LR"
  CountryName = "Liberia"
  Case "LY"
  CountryName = "Libya"
  Case "LI"
  CountryName = "Liechtenstein"
  Case "LT"
  CountryName = "Lithuania"
  Case "LU"
  CountryName = "Luxembourg"
  End Select
ElseIf sLetter = "M" Then   
  Select Case sAbb  
  Case "MO"
  CountryName = "Macau"
  Case "MK"
  CountryName = "Macedonia"
  Case "MG"
  CountryName = "Madagascar"
  Case "MW"
  CountryName = "Malawi"
  Case "MY"
  CountryName = "Malaysia"
  Case "MV"
  CountryName = "Maldives"
  Case "ML"
  CountryName = "Mali"
  Case "MT"
  CountryName = "Malta"
  Case "MH"
  CountryName = "Marshall Islands"
  Case "MQ"
  CountryName = "Martinique"
  Case "MR"
  CountryName = "Mauritania"
  Case "MU"
  CountryName = "Mauritius"
  Case "MX"
  CountryName = "Mexico"
  Case "MD"
  CountryName = "Moldova"
  Case "MC"
  CountryName = "Monaco"
  Case "MN"
  CountryName = "Mongolia"
  Case "MS"
  CountryName = "Montserrat"
  Case "MA"
  CountryName = "Morocco"
  Case "MZ"
  CountryName = "Mozambique"
  Case "MM"
  CountryName = "Myanmar"
  End Select
ElseIf sLetter = "N" Then
  Select Case sAbb      
  Case "NA"
  CountryName = "Namibia"
  Case "NR"
  CountryName = "Nauru"
  Case "NP"
  CountryName = "Nepal"
  Case "NL"
  CountryName = "Netherlands"
  Case "NT"
  CountryName = "Neutral Zone (Saudia Arabia/Iraq)"
  Case "NC"
  CountryName = "New Caledonia"
  Case "NZ"
  CountryName = "New Zealand"
  Case "NI"
  CountryName = "Nicaragua"
  Case "NE"
  CountryName = "Niger"
  Case "NG"
  CountryName = "Nigeria"
  Case "NU"
  CountryName = "Niue"
  Case "NF"
  CountryName = "Norfolk Island"
  Case "MP"
  CountryName = "Northern Mariana Islands"
  Case "NO"
  CountryName = "Norway"
  End Select
ElseIf sLetter = "O" Then
  Select Case sAbb      
  Case "OM"
  CountryName = "Oman"
  End Select
ElseIf sLetter = "P" Then
  Select Case sAbb 
  Case "PK"
  CountryName = "Pakistan"
  Case "PW"
  CountryName = "Palau"
  Case "PA"
  CountryName = "Panama"
  Case "PG"
  CountryName = "Papua New Guinea"
  Case "PY"
  CountryName = "Paraguay"
  Case "PE"
  CountryName = "Peru"
  Case "PF"
  CountryName = "French Polynesia"
  Case "PH"
  CountryName = "Philippines"
  Case "PN"
  CountryName = "Pitcairn"
  Case "PL"
  CountryName = "Poland"
  Case "PT"
  CountryName = "Portugal"
  Case "PR"
  CountryName = "Puerto Rico"
  Case "PM"  '#
  CountryName = "St. Pierre and Miquelon"  
  End Select
ElseIf sLetter = "Q" Then
  Select Case sAbb      
  Case "QA"
  CountryName = "Qatar"
  End Select
ElseIf sLetter = "R" Then
  Select Case sAbb     
  Case "RE"
  CountryName = "Reunion"
  Case "RO"
  CountryName = "Romania"
  Case "RU"
  CountryName = "Russian Federation"
  Case "RW"
  CountryName = "Rwanda"
  End Select
ElseIf sLetter = "S" Then
  Select Case sAbb      
  Case "SM"
  CountryName = "San Marino"
  Case "ST"
  CountryName = "Sao Tome and Principe"
  Case "SA"
  CountryName = "Saudi Arabia"
  Case "SN"
  CountryName = "Senegal"
  Case "SC"
  CountryName = "Seychelles"
  Case "SL"
  CountryName = "Sierra Leone"
  Case "SG"
  CountryName = "Singapore"
  Case "SK"
  CountryName = "Slovakia (Slovak Republic)"
  Case "SI"
  CountryName = "Slovenia"
  Case "SB"
  CountryName = "Solomon Islands"
  Case "SO"
  CountryName = "Somalia"
  Case "SU"
  CountryName = "Soviet Union (former)"
  Case "SH"
  CountryName = "St. Helena"
  Case "SD"
  CountryName = "Sudan"
  Case "SR"
  CountryName = "Suriname"
  Case "SJ"
  CountryName = "Svalbard and Jan Mayen Islands"
  Case "SZ"
  CountryName = "Swaziland"
  Case "SE"
  CountryName = "Sweden"    
  Case "SV" '#
  CountryName = "El Salvador"
  Case "SY"
  CountryName = "Syria"
  End Select
ElseIf sLetter = "T" Then
  Select Case sAbb
  Case "TF"
  CountryName = "French Southern Territories"
  Case "TD"
  CountryName = "Chad"
  Case "TP"
  CountryName = "East Timor"  
  Case "TW"
  CountryName = "Taiwan"
  Case "TJ"
  CountryName = "Tajikistan"
  Case "TZ"
  CountryName = "Tanzania"
  Case "TH"
  CountryName = "Thailand"
  Case "TG"
  CountryName = "Togo"
  Case "TK"
  CountryName = "Tokelau"
  Case "TO"
  CountryName = "Tonga"
  Case "TT"
  CountryName = "Trinidad and Tobago"
  Case "TN"
  CountryName = "Tunisia"
  Case "TR"
  CountryName = "Turkey"
  Case "TM"
  CountryName = "Turkmenistan"
  Case "TC"
  CountryName = "Turks and Caicos Islands"
  Case "TV"
  CountryName = "Tuvalu"
  End Select
ElseIf sLetter = "U" Then
  Select Case sAbb  
  Case "UG"
  CountryName = "Uganda"
  Case "UA"
  CountryName = "Ukraine"
  Case "UK"
  CountryName = "United Kingdom (Great Britain)"
  Case "US"
  CountryName = "United States"
  Case "UY"
  CountryName = "Uruguay"
  Case "UM"
  CountryName = "US Minor Outlying Islands"
  Case "UZ"
  CountryName = "Uzbekistan"
  End Select
ElseIf sLetter = "V" Then
  Select Case sAbb
  Case "VC"
  CountryName = "Saint Vincent and The Grenadines"  
  Case "VU"
  CountryName = "Vanuatu"
  Case "VA"
  CountryName = "Vatican City State (Holy See)"
  Case "VE"
  CountryName = "Venezuela"
  Case "VN"
  CountryName = "Viet Nam"
  Case "VG"
  CountryName = "Virgin Islands (British)"
  Case "VI"
  CountryName = "Virgin Islands (US)"
  End Select
ElseIf sLetter = "W" Then
  Select Case sAbb     
  Case "WF"
  CountryName = "Wallis and Futuna Islands"
  Case "WS"
  CountryName = "Samoa"
  End Select
ElseIf sLetter = "Y" Then
    Select Case sAbb      
  Case "YE"
  CountryName = "Yemen"
  Case "YU"
  CountryName = "Yugoslavia"
  Case "YT"
  CountryName = "Mayotte"
  End Select
ElseIf sLetter = "Z" Then
  Select Case sAbb      
  Case "ZR"
  CountryName = "Zaire"
  Case "ZM"
  CountryName = "Zambia"
  Case "ZW"
  CountryName = "Zimbabwe"
  Case "ZA"
  CountryName = "South Africa"
  End Select
End If
End Function

%>
<p>the free IP2Country database (73% accurate) included in this distribution has only 172 countries with 38313 records</p>
<BR>
[<A HREF="http://www.analysespider.com/ip2country/">Click here to purchase full database</A>]
<BR>
<BR>
Copyright (c) 2003 by Jgsoft Associates
</BODY>
</HTML>

Other Web Traffic Analysis Scripts:

WebMaster Resources Home

©RingsWorld.com