Quickstart#

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

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 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.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)

	' 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)
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 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.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)

		' 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)
	Else
		Console.WriteLine("Error reading BIN file.")
	End If
	proxy.Close()
End Using