Blog Froxy | News, Helpful Articles About Using Proxies

How to Test Proxies: Overview of Methods and Tools

Written by Team Froxy | Nov 7, 2024 9:00:00 AM

Proxies are used in many business tasks, especially when parsing, monitoring, and studying competitor websites, search engine results, large marketplaces, social media, etc. Since proxies are obtained from various sources, they do not always meet the declared/required quality. In most cases, it is impossible to check the quality and functionality of proxies before purchase.

As a result, a separate task or even an entire business process arises—checking and testing proxies before connecting them. Below, you will find exhaustive info on how to test a proxy server, what parameters to pay attention to, and what tools to use for testing.

What Do You Need to Test Proxies?

The simplest way to check a proxy is to connect it to your browser and send a request to any online service capable of returning your IP address in response. Instead of a browser, you can use a terminal and the proxy can be connected at the operating system level.

If the new IP is recognized as the proxy server's IP, then the proxy is working correctly. However, there are many pitfalls like:

  • In the online service response, you only receive the outgoing IP address, which may not match the entry point. For example, if backconnect proxies are used, the outgoing IPs can rotate with each new request. Therefore, it's essential to know your real IP to have something to compare it with. In the case of BackConnect proxies, it's crucial to check not just the outgoing IP but also the rotation conditions and targeting accuracy (type of address, its location, compliance with a specific provider's pool).
  • The browser does not provide the proxy speed or its ping. For this purpose, comprehensive tests need to be conducted based on a network of reference points (dedicated servers or data centers). Yes, you can always manually ping a list of target URLs through the proxy, but the level of automation will be extremely low in this case.
  • Neither the browser nor the terminal returns additional information about the IP address: its physical location, affiliation with a telecom operator (or data about the pool owner), supported protocols etc.
  • In the number of tasks, it's necessary to check not only the IP itself (the proxy server) but also the capabilities of specialized software. For example, for anti-detect browsers, this includes the ability to effectively emulate digital fingerprints and bypass the most common security systems (anti-fraud systems).
  • Compatibility of proxies with specific websites and web services is also of great interest. For instance, you can find out that a proxy does not work with Google, LinkedIn or eBay only by integrating it into a full-fledged operation.

As a result, a browser or terminal can only check proxy functionality and do not provide any extended data. If you have a large list of proxies and a critical project, this approach is unacceptable. Therefore, more quality specialized tools or services will be required. We will review them below, but first, let’s look at what exactly can and should be checked.

What Are the Key Metrics for Proxy Testing?

Here is what should be checked and how:

  • Response Time (Proxy Response/Reaction Speed): The process is organized by using system ping commands. Pinging can be done either from the user's PC (device) to the proxy (which is not very informative) or from the proxy to a list of reference points (in this case, you can find out which countries and regions have the lowest and highest latency for the proxy). Regional data centers, major telecom operators or search engine websites (large web services) are usually chosen as reference points. Excessive response delays can lead to connection drops with target websites.
  • Connection Speed: This is measured by downloading test archives/files of a specified size. The larger the file and the longer the test lasts, the more accurate the measurement will be. However, it’s important to understand that the connection route on the Internet may consist of different segments, some of which may have low reliability and throughput. Consequently, the final speed will be determined by the bandwidth of the "narrowest" segment. Therefore, speed testing is primarily conducted to get a general understanding of the proxy's capabilities (whether it fits your needs or not).
  • Proxy Anonymity: Proxies can be classified as non-anonymous (the real user IP is explicitly indicated in special HTTP headers), lowly anonymous (characteristic headers are available, but the real client IP is not), medium anonymous (the client IP is deliberately replaced with an incorrect one to confuse tracking systems) and highly anonymous (there are no signs that a proxy connection is being used, all characteristic HTTP headers are absent). Proxy anonymity can only be checked by analyzing server responses. Note: Anonymity can only be tested for HTTP proxies. In Socks proxies, the issue of anonymity is not raised, as these proxies do not send any additional HTTP headers.
  • Location: All IP addresses are allocated by special companies - registrars. Consequently, they have their own databases that indicate which IP pools are assigned to whom. However, such databases are usually not publicly accessible (or they require extensive processing). Instead, anti-fraud systems rely on publicly available geolocation databases (some of which may require paid access). These include services like ip2location, MaxMind, SypexGeo, etc. Such services have APIs that allow automated requests to determine the specific location of an IP, as well as its affiliation with a particular telecom operator. The type of IP and location can reveal much about the user (and the proxy).
  • Presence in Spam Databases: IP blacklists are quite common. Large companies either create their own spam databases or collaborate with other market players (to save budget). Smaller companies have to rely on publicly available lists. These include services like Barracuda Central, Spamhaus Blocklist (SBL) and others (there are actually dozens of them). You can either manually check the IP against these databases or use specialized services (in a single-window mode).
  • Compatibility with Target Websites and Web Services: Here, the only check is to attempt to connect to specific websites through the proxy and find out whether the connection is blocked or not.

Have a look at how the signs of non-anonymous proxies in HTTP headers may look like, for example:

In addition to solely proxy parameters, you can also check various signs that reveal the work of a parser (or anti-detect browser). Since all bots present themselves as specific browsers, they can be checked based on a whole set of parameters: JavaScript support (and system variables transmitted within), time zone matching, ActiveX or WebRTC support, user-agent, language, screen resolution, etc. However, this is more about digital fingerprints.

How to Check a Proxy Is Working

So, we have figured out that there are several different ways to check the proxy viability. These include manual setup and checking (on your device – through a browser or terminal), using special online services (checker programs), or custom scripts that will perform whatever task you program them to do.

The first method is the most labor-intensive and not quite informative, so we won’t consider it. Let's focus on more accessible tools: ready-made programs and online checkers.

IP Checkers

The most convenient format is online services. You don’t need to install or configure anything. All checks are completed automatically, and you only receive the final result. There are IP checkers that work with proxy lists and those that analyze your IP address (it’s convenient to connect to such pages and receive information about your current address, so if you're connected through a proxy, you’ll see information about it).

In the first case, you need to additionally provide the port and connection parameters (so that the checker can connect via the proxy and check if it works). However, your access data is effectively disclosed here. No one can guarantee that your proxy information won’t be added to another free database. At the same time, you voluntarily shared your parameters; no one forced you to do that.

In the second case, no one gets anything because you’re not sharing your access parameters with anyone (you’re already connected through a working proxy). However, for organizing bulk checks, you would need to use some kind of proxy rotator (proxy manager) or another software solution to automate the process: replacing the proxy, connecting to the checker, verifying the proxy's operability and parameters, disconnecting and then replacing it with the next one, repeating the process in a cycle.

The samples of checkers for single proxy checks include whatismyproxy.comip-api.com (data about IP address location and telecom operator), etc.

IP Address Databases

Testing large lists every time is very expensive and time-consuming. Instead, you can use extensive IP address databases that have already undergone all the necessary checks. However, it’s important to understand that such databases do not test proxy parameters but help identify them. These databases are specifically integrated with anti-fraud systems.

Examples of such services include IP2Location and MaxMind. The first is very simple and free, while the second offers a variety of interesting options. For instance, there is a special solution for proxy identification (without signs in the HTTP headers, only by IP) and VPN services (VPN vs proxies comparison).

FOGLDN Proxy Tester - The Program for Proxy Testing

This is a standalone software that can be installed on PCs running Windows or MacOS. Official website.

The utility interface is very simple and does not require translation. You only need to upload your proxy list (paste it into a special field) and start the check. The advantages are obvious: data about your proxies remains with you and you can delete non-working IPs with one click and export only the working ones. The program supports login/password authorization and can check proxies on specified target sites. The software is distributed completely free of charge.

Of course, there are certain risks: the program is written by unknown authors, and no one knows what exactly is in the code. It is quite possible that your PC or Mac may act as a proxy itself. 😉

Customer Software: Step-by-Step Proxy Testing Script in Golang

Technically, you need to write your own script for automatic pinging. You can use existing libraries or frameworks, or you can write the code from scratch.

Here is what exactly should the script do:

  1. Accept a proxy list (this can be a fixed format).
  2. It’s also desirable to organize input for at least one target website (or, better, a list).
  3. Select proxies from the list in turn and connect through them.
  4. For active proxies, perform a request to the target website – ping them.
  5. Output the response status from the target site/server and the ping value (response speed).

It sounds simple, but only those familiar with programming will be able to implement such a script. Below is a simple example of a script in Go.

  1. Download and install the Go environment in advance. Installation is supported on various operating systems.
  2. For Windows, you also need to download and install the Git client (from the official website). Don’t forget to agree that the program should automatically add lines to %PATH% during installation. If the installer doesn’t do this, add the environment variable manually: search for the tool “Change environment variables for your account,” open it, and create a new parameter named “git” with the value “C:\Program Files\Git\bin\git.exe” (if the path to the executable file differs, replace it with your own).
  3. Launch the command line (e.g., Windows terminal, without admin rights).
  4. Create a directory for projects and your first project. To do this, enter the following commands:

mkdir \My-proxy-test

(the catalog will be created in the root of the system drive)

cd \My-proxy-test

(switch to this catalog)

go mod init My-proxy-test

(create the Go-module)

go get github.com/trananhtung/proxy-checker

(download the library for the proxy test)

Now you can move on to creating the proxy checker.

To do this, go to the directory with your scripts (“C:\My-proxy-test”) and create a script (a simple text file, where you will later change the extension from .txt to .go). Let it be “my-proxy-checker.go”.

Open it in the text editor (like Notepad) and fill it with the following content:

package main

import (

"fmt"

"github.com/trananhtung/proxy-checker"

)

func main() {

proxy := "http://1.1.1.1:8080" //here should be your proxy

targetURL := "https://google.com" //write the target site here

timeout := uint(5) //add timeout in seconds (value in brackets)

result := proxy_checker.ProxyTest(proxy, targetURL, timeout)

if result {

fmt.Println("Proxy is working")

} else {

fmt.Println("Proxy is not working")

}

}

Note the variable values: you need to insert your proxy and target site; you can adjust the timeout as desired.

Now, let’s learn how to test proxy:

  • Change the proxy value to your own.
  • Save the file.
  • Launch it in the terminal with the command “go run my-proxy-checker.go”.
  • After execution, the console will display the result: whether the proxy works or not.

The same library can be used in more complex scripts. In this case, you can access it using the ProxyTest function:

func ProxyTest(proxy, urlTarget string, timeout uint) bool

It will return true or false (similarly to "working" or "not working").

In a loop, you can iterate through lists of proxies of any size.

Conclusion and Recommendations

At first glance, testing proxies may seem like a simple task. In reality, there are many pitfalls. The requirements for tests will depend on the goals and tasks, as well as on the proxy type and purpose.

Above, we have described all the most accessible methods for testing proxy servers and even showed how to organize this at the script level.

If you don’t want to test anything, just purchase high-quality rotating proxies from us. Froxy offers over 10 million IP addresses. The selection includes mobile, residential, and datacenter (server) proxies. If the address goes out of order, it is automatically replaced with a working one. There’s no need to change anything in the connection settings, as the proxies operate on a feedback scheme (the entry into the proxy network for the client remains static).