Get Started With IP2Proxy .NET Module
Requirements
Microsoft .NET 4.72 framework or later. Compatible with .NET Core 2.x/3.x SDK. Compatible with .NET 5/6/7/8.
Dependencies
This library requires IP2Proxy BIN database to function. You may download the BIN database at
IP2Proxy LITE BIN Data (Free): https://lite.ip2location.com
IP2Proxy Commercial BIN Data (Comprehensive): https://www.ip2location.com
Sample Codes
Query proxy information from BIN database
You can query the proxy information from the IP2Proxy BIN database as below:
Imports System.IO
Imports IP2Proxy
Dim proxy As New Component
Dim all As ProxyResult
Dim isproxy As Integer
Dim proxytype As String
Dim countryshort As String
Dim countrylong As String
Dim region As String
Dim city As String
Dim isp As String
Dim domain As String
Dim usagetype As String
Dim asn As String
Dim [as] As String
Dim lastseen As String
Dim threat As String
Dim provider As String
Dim fraudscore As String
Dim ip As String = "221.121.146.0"
If proxy.Open("C:\data\IP2PROXY-IP-PROXYTYPE-COUNTRY-REGION-CITY-ISP-DOMAIN-USAGETYPE-ASN-LASTSEEN-THREAT-RESIDENTIAL-PROVIDER-FRAUDSCORE.BIN", Component.IOModes.IP2PROXY_MEMORY_MAPPED) = 0 Then
Console.WriteLine("GetModuleVersion: " & Component.GetModuleVersion())
Console.WriteLine("GetPackageVersion: " & proxy.GetPackageVersion())
Console.WriteLine("GetDatabaseVersion: " & proxy.GetDatabaseVersion())
' reading all available fields
all = proxy.GetAll(ip)
Console.WriteLine("Is_Proxy: " & all.Is_Proxy.ToString())
Console.WriteLine("Proxy_Type: " & all.Proxy_Type)
Console.WriteLine("Country_Short: " & all.Country_Short)
Console.WriteLine("Country_Long: " & all.Country_Long)
Console.WriteLine("Region: " & all.Region)
Console.WriteLine("City: " & all.City)
Console.WriteLine("ISP: " & all.ISP)
Console.WriteLine("Domain: " & all.Domain)
Console.WriteLine("Usage_Type: " & all.Usage_Type)
Console.WriteLine("ASN: " & all.ASN)
Console.WriteLine("AS: " & all.AS)
Console.WriteLine("Last_Seen: " & all.Last_Seen)
Console.WriteLine("Threat: " & all.Threat)
Console.WriteLine("Provider: " & all.Provider)
Console.WriteLine("Fraud_Score: " & all.Fraud_Score)
' reading individual fields
isproxy = proxy.IsProxy(ip)
Console.WriteLine("Is_Proxy: " & isproxy.ToString())
proxytype = proxy.GetProxyType(ip)
Console.WriteLine("Proxy_Type: " & proxytype)
countryshort = proxy.GetCountryShort(ip)
Console.WriteLine("Country_Short: " & countryshort)
countrylong = proxy.GetCountryLong(ip)
Console.WriteLine("Country_Long: " & countrylong)
region = proxy.GetRegion(ip)
Console.WriteLine("Region: " & region)
city = proxy.GetCity(ip)
Console.WriteLine("City: " & city)
isp = proxy.GetISP(ip)
Console.WriteLine("ISP: " & isp)
domain = proxy.GetDomain(ip)
Console.WriteLine("Domain: " & domain)
usagetype = proxy.GetUsageType(ip)
Console.WriteLine("Usage_Type: " & usagetype)
asn = proxy.GetASN(ip)
Console.WriteLine("ASN: " & asn)
[as] = proxy.GetAS(ip)
Console.WriteLine("AS: " & [as])
lastseen = proxy.GetLastSeen(ip)
Console.WriteLine("Last_Seen: " & lastseen)
threat = proxy.GetThreat(ip)
Console.WriteLine("Threat: " & threat)
provider = proxy.GetProvider(ip)
Console.WriteLine("Provider: " & provider)
fraudscore = proxy.GetFraudScore(ip)
Console.WriteLine("Fraud_Score: " & fraudscore)
Else
Console.WriteLine("Error reading BIN file.")
End If
proxy.Close()
Query proxy information using a stream and async IP query
You can query the proxy information using a stream and async IP query as below:
Imports System.IO
Imports IP2Proxy
Dim proxy As New Component
Dim all As ProxyResult
Dim isproxy As Integer
Dim proxytype As String
Dim countryshort As String
Dim countrylong As String
Dim region As String
Dim city As String
Dim isp As String
Dim domain As String
Dim usagetype As String
Dim asn As String
Dim [as] As String
Dim lastseen As String
Dim threat As String
Dim provider As String
Dim fraudscore As String
Dim ip As String = "221.121.146.0"
Using myStream = New FileStream("C:\data\IP2PROXY-IP-PROXYTYPE-COUNTRY-REGION-CITY-ISP-DOMAIN-USAGETYPE-ASN-LASTSEEN-THREAT-RESIDENTIAL-PROVIDER-FRAUDSCORE.BIN", FileMode.Open, FileAccess.Read, FileShare.Read)
If proxy.Open(myStream) = 0 Then
Console.WriteLine("GetModuleVersion: " & Component.GetModuleVersion())
Console.WriteLine("GetPackageVersion: " & proxy.GetPackageVersion())
Console.WriteLine("GetDatabaseVersion: " & proxy.GetDatabaseVersion())
' reading all available fields
all = proxy.GetAllAsync(ip).Result
Console.WriteLine("Is_Proxy: " & all.Is_Proxy.ToString())
Console.WriteLine("Proxy_Type: " & all.Proxy_Type)
Console.WriteLine("Country_Short: " & all.Country_Short)
Console.WriteLine("Country_Long: " & all.Country_Long)
Console.WriteLine("Region: " & all.Region)
Console.WriteLine("City: " & all.City)
Console.WriteLine("ISP: " & all.ISP)
Console.WriteLine("Domain: " & all.Domain)
Console.WriteLine("Usage_Type: " & all.Usage_Type)
Console.WriteLine("ASN: " & all.ASN)
Console.WriteLine("AS: " & all.AS)
Console.WriteLine("Last_Seen: " & all.Last_Seen)
Console.WriteLine("Threat: " & all.Threat)
Console.WriteLine("Provider: " & all.Provider)
Console.WriteLine("Fraud_Score: " & all.Fraud_Score)
' reading individual fields
isproxy = proxy.IsProxyAsync(ip).Result
Console.WriteLine("Is_Proxy: " & isproxy.ToString())
proxytype = proxy.GetProxyTypeAsync(ip).Result
Console.WriteLine("Proxy_Type: " & proxytype)
countryshort = proxy.GetCountryShortAsync(ip).Result
Console.WriteLine("Country_Short: " & countryshort)
countrylong = proxy.GetCountryLongAsync(ip).Result
Console.WriteLine("Country_Long: " & countrylong)
region = proxy.GetRegionAsync(ip).Result
Console.WriteLine("Region: " & region)
city = proxy.GetCityAsync(ip).Result
Console.WriteLine("City: " & city)
isp = proxy.GetISPAsync(ip).Result
Console.WriteLine("ISP: " & isp)
domain = proxy.GetDomainAsync(ip).Result
Console.WriteLine("Domain: " & domain)
usagetype = proxy.GetUsageTypeAsync(ip).Result
Console.WriteLine("Usage_Type: " & usagetype)
asn = proxy.GetASNAsync(ip).Result
Console.WriteLine("ASN: " & asn)
[as] = proxy.GetASAsync(ip).Result
Console.WriteLine("AS: " & [as])
lastseen = proxy.GetLastSeenAsync(ip).Result
Console.WriteLine("Last_Seen: " & lastseen)
threat = proxy.GetThreatAsync(ip).Result
Console.WriteLine("Threat: " & threat)
provider = proxy.GetProviderAsync(ip).Result
Console.WriteLine("Provider: " & provider)
fraudscore = proxy.GetFraudScoreAsync(ip).Result
Console.WriteLine("Fraud_Score: " & fraudscore)
Else
Console.WriteLine("Error reading BIN file.")
End If
proxy.Close()
End Using
IP2Proxy Sample Database (BIN)
Sample Packages - BIN File | IPv4 + IPv6 |
---|---|
IP2Proxy PX1 | Download (391.66 kB) |
IP2Proxy PX2 | Download (406.53 kB) |
IP2Proxy PX3 | Download (435.82 kB) |
IP2Proxy PX4 | Download (471.49 kB) |
IP2Proxy PX5 | Download (491.37 kB) |
IP2Proxy PX6 | Download (493.92 kB) |
IP2Proxy PX7 | Download (534.57 kB) |
IP2Proxy PX8 | Download (540.70 kB) |
IP2Proxy PX9 | Download (541.56 kB) |
IP2Proxy PX10 | Download (677.91 kB) |
IP2Proxy PX11 | Download (684.40 kB) |
IP2Proxy PX12 | Download (687.12 kB) |