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/9/10.


Dependencies

This library requires IP2Proxy BIN database to function. You may download the BIN database at


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.15 kB)
IP2Proxy PX2 Download (406.80 kB)
IP2Proxy PX3 Download (436.24 kB)
IP2Proxy PX4 Download (471.65 kB)
IP2Proxy PX5 Download (491.98 kB)
IP2Proxy PX6 Download (494.79 kB)
IP2Proxy PX7 Download (536.04 kB)
IP2Proxy PX8 Download (542.17 kB)
IP2Proxy PX9 Download (542.01 kB)
IP2Proxy PX10 Download (673.87 kB)
IP2Proxy PX11 Download (680.81 kB)
IP2Proxy PX12 Download (685.90 kB)