In this tutorial, we use the IP2Proxy™ Web Service to detect proxy details from the visitor’s IP address. Instead of loading the full database, you can also lookup IP address via our hosted web service.
IP2Proxy™ Web API uses a single web interface to perform the lookup logic. The protocol used is HTTP GET. You can test this API as easy as using a web browser.
api.ip2proxy.com/?ip=<ip_address>&key=<your_api_key>&package=<package>&format=<format> |
PARAMETERS
Name | Description |
---|---|
key | (required) API key. Please use “demo” for evaluation. |
ip | (optional) IP address (IPv4) for lookup purposes. If not present, the server IP address will be used for the lookup. |
package | (optional) If not present, the web service will assume the PX1 package query. Valid value: PX1 | PX2 | PX3 | PX4 | PX5 | PX6 | PX7 | PX8 | PX9 | PX10 | PX11 |
format | (optional) If not present, json format will be returned as the search result. Valid value: json | xml |
Below are the sample codes written in PHP to query and display user’s proxy information.
<!--?php $host= gethostname(); $ipAddress = gethostbyname($host); $urlTemplate = 'https://api.ip2proxy.com/?ip=' . $ipAddress . '&key=demo&package=PX11'; // replace the "%s" with real IP address $urlToCall = sprintf( $urlTemplate, $ipAddress); $rawJson = file_get_contents( $urlToCall ); $proxy = json_decode( $rawJson, true ); if(isset($proxy['cityName'])){ if($proxy['cityName']=="-"){ echo 'You are in local server! '; echo ''; } }else{ echo 'IP Address parsing error!'; } ?>
Your IP address <!--?php if(isset($proxy['response'])&&isset($proxy['countryCode'])&&isset($proxy['countryName'])&&isset($proxy['regionName'])&&isset($proxy['cityName'])&&isset($proxy['isp'])&&isset($proxy['isProxy'])&&isset($proxy['proxyType'])&&isset($proxy['domain'])&&isset($proxy['usageType'])&&isset($proxy['asn'])&&isset($proxy['as'])&&isset($proxy['lastSeen'])&&isset($proxy['threat'])&&isset($proxy['provider'])){ echo 'Response:'."\n". $proxy['response'] . "\n "; echo 'Country Code:'."\n". $proxy['countryCode'] . "\n "; echo 'Country Name:'."\n". $proxy['countryName'] . "\n "; echo 'Region Name:'."\n". $proxy['regionName'] . "\n "; echo 'City Name:'."\n". $proxy['cityName'] . "\n "; echo 'Internet Service Provider:'."\n". $proxy['isp'] . "\n "; echo 'Is Proxy:'."\n". $proxy['isProxy'] . "\n "; echo 'Proxy Type:'."\n". $proxy['proxyType'] . "\n "; echo 'Domain:'."\n". $proxy['domain'] . "\n "; echo 'Usage Type:'."\n". $proxy['usageType'] . "\n "; echo 'ASN:'."\n". $proxy['asn'] . "\n "; echo 'AS:'."\n". $proxy['as'] . "\n "; echo 'Last Seen:'."\n". $proxy['lastSeen'] . "\n "; echo 'Threat:'."\n". $proxy['threat'] . "\n "; echo 'Provider:'."\n". $proxy['provider'] . "\n "; }else{ echo 'IP Address parsing error!'; } ?>
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load WebAPI() End Sub Private Sub WebAPI() Dim strQuery As String Dim IPAddress As String = HttpContext.Current.Request.UserHostAddress Dim Key As String = "demo" Dim serializer As New JavaScriptSerializer() Dim HttpWReq As HttpWebRequest Dim HttpWResp As Net.HttpWebResponse strQuery = "https://api.ip2proxy.com/?" & "ip=" & IPAddress & "&key=demo&package=PX11" HttpWReq = WebRequest.Create(strQuery) HttpWReq.Method = "GET" HttpWResp = HttpWReq.GetResponse() Dim reader As System.IO.StreamReader = New IO.StreamReader(HttpWResp.GetResponseStream()) Dim content As String = reader.ReadToEnd Dim item As Object = serializer.Deserialize(Of Object)(content) Dim city As String = item("cityName") Dim countryc As String = item("countryCode") Dim countryn As String = item("countryName") Dim region As String = item("regionName") Dim isp As String = item("isp") Dim isproxy As String = item("isProxy") Dim proxytype As String = item("proxyType") Dim domain As String = item("domain") Dim usagetype As String = item("usageType") Dim asn as String = item("asn") Dim [as] as String = item("as") Dim lastseen as String = item("lastSeen") Dim threat as String = item("threat") Dim provider as String = item("provider") Dim res As String = item("response") Response.Write("Welcome Visitors from " + city + "
") Response.Write("Response: " + res + "
") Response.Write("Your IP address: " + IPAddress + "
") Response.Write("Country Code: " + countryc + "
") Response.Write("Country Name: " + countryn + "
") Response.Write("Region Name: " + region + "
") Response.Write("ISP: " + isp + "
") Response.Write("Is Proxy: " + isproxy + "
") Response.Write("Proxy Type: " + proxytype + "
") Response.Write("Domain: " + domain + "
") Response.Write("Usage Type: " + usagetype + "
") Response.Write("ASN: " + asn + "
") Response.Write("AS: " + [as] + "
") Response.Write("Last Seen: " + lastseen + "
") Response.Write("Threat: " + threat + "
") Response.Write("Provider: " + provider + "
") End Sub Sub Main() WebAPI() End Sub
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { WebAPI(); } private void WebAPI() { string myIP = HttpContext.Current.Request.UserHostAddress; string strQuery; string key = "demo"; HttpWebRequest HttpWReq; HttpWebResponse HttpWResp; strQuery = "https://api.ip2proxy.com/?" + "ip=" + myIP + "&key=demo&package=PX11"; JavaScriptSerializer serializer = new JavaScriptSerializer(); dynamic item = serializer.Deserialize
import java.io.BufferedReader; import java.io.IOException; import java.net.URL; import com.google.gson.Gson; public class System { public static void main(String[] args) throws Exception { Gson gson = new Gson(); String myIP = Request.UserHostAddress; String json = readURL("https://api.ip2proxy.com/?" + "ip=" + myIP + "&key=demo&package=PX11"); System.out.println(json); Map< String, Object > decoded = gson.fromJson( json, new TypeToken< Map< String, Object>>() {}.getType()); System.out.println( decoded ); //displaying the result Display disp = gson.fromJson(json, Display.class); System.out.println("Welcome Visitors from " + disp.cityName + "
"); System.out.println("Response: " + disp.response + "
"); System.out.println("Your IP address: " + myIP + "
"); System.out.println("Country Code: " + disp.countryCode + "
"); System.out.println("Country Name: " + disp.countryName + "
"); System.out.println("Region Name: " + disp.regionName + "
"); System.out.println("Internet Service Provider: " + disp.isp + "
"); System.out.println("Is Proxy: " + disp.isProxy + "
"); System.out.println("Proxy Type: " + disp.proxyType + "
"); System.out.println("Domain: " + disp.domain + "
"); System.out.println("Usage Type: " + disp.usageType + "
"); System.out.println("ASN: " + disp.asn + "
"); System.out.println("AS: " + disp.as + "
"); System.out.println("Last Seen: " + disp.lastSeen + "
"); System.out.println("Threat: " + disp.threat + "
"); System.out.println("Provider: " + disp.provider + "
"); } static class Display { String cityName; String countryCode; String countryName; String regionName; String isp; String isProxy; String proxyType; String domain; String usageType; String asn; String as; String lastSeen; String threat; String provider; String response; } }