Skip to content

Proxy Address, Port, Login and Password Explained

Every working proxy is described by five basic fields: protocol, host address, port, login, and password. This data determines how your application or browser connects to the proxy server and authenticates.

Five Required Proxy Fields

Every proxy server requires five connection parameters:

Protocol determines the communication format between your device and the proxy. Two common variants are HTTP and SOCKS5. HTTP proxies work at the application level (browser, curl, Python requests), while SOCKS5 works at the level of TCP connections from any application; UDP is defined in the protocol but not every server supports it, and it is not stated for the Proxy302 gateway. When choosing a protocol, make sure it matches what your tool supports.

Host address is the IP address or domain name of the proxy server. In most cases, this is a numeric address like 192.168.1.1 or a domain name like proxy.example.com. Do not change the host unless you have to: it points to a different server.

Port is the number on which the proxy accepts connections. Standard ports for HTTP proxies are 8080 or 3128, for SOCKS5 — 1080. Each provider may have their own ports. Specifying an incorrect port leads to connection errors.

Login (username) and password are needed for authentication on paid proxies. Without this data, the proxy server will return a 407 Proxy Authentication Required error (for HTTP) or reject the connection (for SOCKS5). Store this data in a secure place and do not pass it to third parties.

Two Common String Formats

Proxies are often passed as a single string, but the format may differ.

The host:port:login:password format is used mainly in configuration files and command-line tools. The order of fields is strictly fixed: first the address, then the port, then credentials separated by colons. Example:

Two Common String Formats: example

192.168.1.1:8080:myuser:mypassword

Example only: replace the placeholder values with your own.

Two Common String Formats, continued

The login:password@host:port format is URL style: curl, environment variables and Python requests accept it, and many proxy managers use it too. Here credentials come before the address, separated by the @ symbol. Example:

Two Common String Formats: example

myuser:[email protected]:8080

Example only: replace the placeholder values with your own.

Two Common String Formats, continued

How to convert between formats: split the string into its four parts and put them back in the other order. The function below detects which format it got and converts it either way. In the URL format the login and password must be percent-encoded, so the function encodes them with quote() and decodes them on the way back:

Two Common String Formats: example

from urllib.parse import quote, unquote

def convert_format(s):
    if '@' in s:
        cred, addr = s.rsplit('@', 1)
        user, password = cred.split(':', 1)
        host, port = addr.split(':')
        return f"{host}:{port}:{unquote(user)}:{unquote(password)}"
    host, port, user, password = s.split(':', 3)
    return f"{quote(user, safe='')}:{quote(password, safe='')}@{host}:{port}"

Example only: replace the placeholder values with your own.

Two Common String Formats, continued

Before using, check if the password contains special characters requiring escaping — more on this below.

In the Browser

Chrome and Edge use the operating system settings (Windows: Settings → Network & internet → Proxy; macOS: System Settings → Network → your service → Details → Proxies). Windows has only address and port fields, and the browser asks for the login and password in a pop-up. Firefox has its own settings: Settings → General → Network Settings → Settings. Browsers do not accept login:password@host:port in one field; use a proxy extension to store credentials.

If you use proxy extensions, they may require the host:port:login:password format. Check the documentation for the specific extension.

In curl

curl accepts only the URL format in -x/--proxy: scheme://login:password@host:port. Convert a host:port:login:password string first (see the script above), or pass the credentials separately with -U. Example:

In curl: example

curl -x http://myuser:[email protected]:8080 https://example.com

Example only: replace the placeholder values with your own.

In curl, continued

For SOCKS5, specify the socks5:// scheme:

In curl: example

curl -x socks5://myuser:[email protected]:1080 https://example.com

Example only: replace the placeholder values with your own.

In curl, continued

If the password contains special characters (@, :, /), curl interprets them as separators. In this case, encode them (see below) or pass the login and password through the separate --proxy-user 'login:password' parameter.

In Python (requests library)

The requests library accepts proxies as a dictionary, where the key is the protocol scheme, and the value is a string with login, password, address, and port:

In Python (requests library): example

import requests

proxies = {
    'http': 'http://myuser:[email protected]:8080',
    'https': 'http://myuser:[email protected]:8080'
}

response = requests.get('https://example.com', proxies=proxies)

Example only: replace the placeholder values with your own.

In Python (requests library), continued

For SOCKS5, you will need the additional requests[socks] library:

In Python (requests library): example

proxies = {
    'http': 'socks5://myuser:[email protected]:1080',
    'https': 'socks5://myuser:[email protected]:1080'
}

Example only: replace the placeholder values with your own.

How to Check if a Proxy is Working

A simple way to check that a proxy is working is to open an IP check service in the browser or via curl, for example ipinfo.io. If the response shows an IP other than your own and the expected country, the setup works; with gateway proxies the exit IP differs from the host you entered. You can also compare the result with a direct request without a proxy: if the addresses differ, the proxy is functioning.

For programmatic checking in Python, send a request through the proxy and compare the received IP with your real one:

How to Check if a Proxy is Working: example

import requests
response = requests.get('https://ipinfo.io/json', proxies=proxies)
print(response.json()['ip'])  # exit IP: should differ from your real IP

Example only: replace the placeholder values with your own.

How to Check if a Proxy is Working, continued

If you use rotating residential proxies, where the exit IP can change between requests or sessions, the test passes if the response is returned without authorization errors and the address differs from your real one. The proxy location check service helps ensure that the country and city match the selected region.

For rotating residential proxies from Proxy302, the gateway is proxy.proxy302.com, port 2222 for HTTP and 3333 for SOCKS5; HOST, PORT, USERNAME and PASSWORD are shown on the My assets page.

Common Mistakes When Filling in Fields

Mixed up fields. Users often put the login in place of the address or the port in place of the password. The result is a connection or authorization error. Always check the order of fields before copying the string.

Wrong protocol. Specifying HTTP instead of SOCKS5 (or vice versa) leads to the server not understanding the request format. Make sure the protocol in the settings matches what the provider issued. Some services support only HTTP, others only SOCKS5.

Extra spaces. Spaces at the beginning or end of the login or password string often remain invisible when copying, but become part of the data. The server treats "myuser" and "myuser " (with a trailing space) as different logins. Trim strings before use or use the .strip() function in scripts.

Special characters in password. Characters @, :, /, % and others have special meaning in URLs and configuration strings. If the password contains such characters, they need to be encoded in URL format (percent-encoding). For example, the character @ is encoded as %40, and : as %3A. In Python, use urllib.parse.quote(password, safe="") for encoding:

Common Mistakes When Filling in Fields: example

from urllib.parse import quote
password = "p@ss:w0rd"
encoded = quote(password, safe="")  # p%40ss%3Aw0rd

Example only: replace the placeholder values with your own.

Common Mistakes When Filling in Fields, continued

When working with proxy services, it is important to correctly specify all five fields: protocol, address, port, login, and password. Each type of proxy — from rotating residential to static ISP — has its own connection features. Learn more about how proxies work and their application for testing, monitoring, and data collection tasks in the general proxy guide.

What are proxies in five fields?

A proxy is described by five fields: protocol (HTTP or SOCKS5), host address (IP or domain name), port, login, and password. Together they define how to connect to the proxy server and, when required, how to authenticate.

What is the correct proxy string format?

There are two common formats. The host:port:login:password format is used in configuration files and terminal, while the login:password@host:port format is URL style, used by curl, Python requests and many proxy managers. They hold the same data, but programs accept different formats: curl, environment variables and Python requests take only the URL format.

How to check that a proxy is working?

Send a request through the proxy to the ipinfo.io service or similar. If the response shows an IP other than your own and the expected country, the proxy is working; with gateway proxies the exit IP differs from the host you entered. A detailed guide on checking proxy location is described in the proxy check guide.

Why doesn't the proxy work if all fields are filled in correctly?

Most often, the problem is a protocol mismatch, extra spaces in the string, or unescaped special characters in the password. Blocking by the service you are sending the request to is also possible.

What is a proxy in simple words?

A proxy is an intermediate server between your device and the target website. It receives a request from you, forwards it to the site, and returns the response. A proxy allows changing the visible network address for testing regional versions of sites, monitoring prices, or collecting publicly available data.

How to do it with Proxy302

Rotating residential proxies fit this task: you choose the exit country (195+ countries and regions, with state and city on lines that support it) and pay per GB, so you pay only for the traffic you use. The rotating residential page has the setup. The table below shows where exits in 7 countries landed in our latest hourly check; the probe sends its request to ChatGPT, which is only an example target. To check your own exit, use the proxy location guide.

Measured exits: ChatGPT from 7 countries

Measured exits: ChatGPT from 7 countries
ItemCityNetwork (ISP)ASN
United StatesDenver, ColoradoComcast Cable Communications, LLCAS7922
United KingdomChesterfield, EnglandPlusnetAS6871
GermanyKöln, North Rhine-WestphaliaNetCologne Gesellschaft fur Telekommunikation mbHAS8422
JapanKashiwazaki, NiigataNTT DOCOMO BUSINESS,Inc.AS4713
SingaporeSingaporeWhiz Communications Pte LtdAS135600
BrazilEcoporanga, Espírito SantoKMM TELECOM LTDA-MEAS264542
IndonesiaBandar Lampung, LampungPT Telekomunikasi IndonesiaAS7713

Hourly check of the Proxy302 probe, 23 October 2026, 15:47 UTC: one request to ChatGPT per country through a dynamic residential exit, using the public Proxy302 entry. Only the first three octets of an IP are public. One sample per country, not an average; later checks will differ.

How to do it with Proxy302: steps

  1. Step 1

    Open the rotating residential page, choose the line, and keep Protocol on HTTP or choose SOCKS5, then click Review cost and generate.

  2. Step 2

    Open My assets (the console page that holds everything you bought) and copy HOST, PORT, USERNAME and PASSWORD. The Connect page shows a ready example with your own endpoint.

  3. Step 3

    Enter the details in the browser or tool you are setting up.

  4. Step 4

    Confirm the exit with https://ipinfo.io/json through the proxy.

  5. Step 5

    From mainland China, start the helper tool from the Connect page first and keep it open while you use the proxy.

Prices and limits

The Budget line costs US$1.50 per GB, US$1.35 per GB in a 100 GB package and US$1.20 per GB at 300 GB. There is no free trial, and the smallest purchase is 1 GB. Which exit locations are available changes daily.

Reference links

2
  1. Proxy302 product facts and price list

    Product observation · Confirmed on:

    Product facts file of the site (values checked against the console, the backend and the price table on 18-19 October 2026): products, prices in US$ (1 PTC = US$1), lease terms, protocols and ports, countries, quantity limits, no free trial.

  2. Proxy302 hourly connectivity check

    Product observation · Confirmed on:

    Public JSON of the probe at proxy302.com/live/connectivity/chatgpt.json, read 23 October 2026, 15:47 UTC: one request per exit country through a dynamic residential exit; exit city, ASN, network and response time.

Ready to try it?

Create an account, top up once, then pick rotating residential, static ISP or datacenter IPs and have one running in your browser within minutes.