HTTP Proxy Configuration Guide
Configure a HighProxies HTTP proxy for command-line tools, Python, PHP, Proxifier, Firefox, Chrome and antidetect browsers. The same HTTP proxy can securely access both HTTP and HTTPS websites.
Important: HighProxies supplies this service as an HTTP proxy. Select HTTP in your software even when you visit an HTTPS website. HTTPS traffic is carried through the proxy using the standard HTTP CONNECT method.
Find Your HTTP Proxy Credentials
Open the HighProxies proxy control panel and copy the endpoint assigned to your active service. Replace the example placeholders below with your own values.
| Field | Example format |
|---|---|
| Proxy type | HTTP |
| Host or IP address | PROXY_IP |
| Port | PROXY_PORT |
| Username | PROXY_USERNAME |
| Password | PROXY_PASSWORD |
| Complete proxy URL | http://PROXY_USERNAME:PROXY_PASSWORD@PROXY_IP:PROXY_PORT |
Username and password authentication
Enter the assigned proxy username and password in the application. This method works when your public IP changes frequently.
IP authentication
Authorise your current public IP in the control panel, then leave the username and password fields empty when the application supports IP-based authentication.
Do not publish credentials: redact the username and password from screenshots, terminal output, tickets posted publicly and source-code repositories.
Test an HTTP Proxy with cURL
Test the proxy before configuring a browser or application. Using separate --proxy and --proxy-user options keeps the command easier to read and avoids placing credentials inside the proxy URL.
Check the external IP address
curl --proxy "http://PROXY_IP:PROXY_PORT" --proxy-user "PROXY_USERNAME:PROXY_PASSWORD" https://api.ipify.org
The response should show the assigned proxy IP rather than your normal public IP.
Confirm HTTPS website access
curl --head --proxy "http://PROXY_IP:PROXY_PORT" --proxy-user "PROXY_USERNAME:PROXY_PASSWORD" https://www.google.com/
A successful test normally includes an initial HTTP/1.1 200 Connection established response followed by the destination website response.
Enable verbose diagnostics
curl --verbose --proxy "http://PROXY_IP:PROXY_PORT" --proxy-user "PROXY_USERNAME:PROXY_PASSWORD" https://api.ipify.org
Keep the proxy prefix as http://: the destination can be HTTPS while the connection to the proxy remains HTTP.
Bash HTTP Proxy Tester
Save the following script as /usr/local/bin/test-http-proxy.sh. It checks the external IP and confirms that an HTTPS destination can be reached through the HTTP proxy.
#!/usr/bin/env bash
set -euo pipefail
PROXY_HOST="PROXY_IP"
PROXY_PORT="PROXY_PORT"
PROXY_USERNAME="PROXY_USERNAME"
PROXY_PASSWORD="PROXY_PASSWORD"
PROXY="http://${PROXY_HOST}:${PROXY_PORT}"
echo "Testing external IP..."
EXTERNAL_IP="$(curl --silent --show-error --fail --connect-timeout 10 --max-time 20 --proxy "${PROXY}" --proxy-user "${PROXY_USERNAME}:${PROXY_PASSWORD}" https://api.ipify.org)"
echo "Proxy external IP: ${EXTERNAL_IP}"
echo "Testing HTTPS destination..."
curl --silent --show-error --fail --connect-timeout 10 --max-time 20 --output /dev/null --proxy "${PROXY}" --proxy-user "${PROXY_USERNAME}:${PROXY_PASSWORD}" https://www.google.com/
echo "HTTPS destination test: OK"
Make the script executable and run it
chmod 700 /usr/local/bin/test-http-proxy.sh
/usr/local/bin/test-http-proxy.sh
File permissions: the script contains credentials. Keep it readable only by its owner and do not commit it to Git.
Configure an HTTP Proxy with Python Requests
Install Requests and assign the same HTTP proxy URL to both dictionary keys. The https key identifies HTTPS destination URLs; it does not mean that the proxy itself uses HTTPS.
python3 -m pip install requests
Standalone Python example
#!/usr/bin/env python3
from typing import Final
import requests
PROXY_URL: Final[str] = "http://PROXY_USERNAME:PROXY_PASSWORD@PROXY_IP:PROXY_PORT"
PROXIES: Final[dict[str, str]] = {
"http": PROXY_URL,
"https": PROXY_URL,
}
try:
response = requests.get(
"https://api.ipify.org",
proxies=PROXIES,
timeout=15,
)
response.raise_for_status()
except requests.RequestException as error:
raise SystemExit(f"Proxy test failed: {error}") from error
print(f"Proxy external IP: {response.text.strip()}")
Production code: store credentials in environment variables or a secrets manager instead of hard-coding them in the script.
Configure an HTTP Proxy with PHP cURL
This PSR-12-compatible example sends a request to an HTTPS IP-checking endpoint through the HTTP proxy.
<?php
declare(strict_types=1);
$proxy = 'PROXY_IP:PROXY_PORT';
$credentials = 'PROXY_USERNAME:PROXY_PASSWORD';
$handle = curl_init('https://api.ipify.org');
if ($handle === false) {
throw new RuntimeException('Unable to initialise cURL.');
}
curl_setopt_array($handle, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
CURLOPT_PROXYUSERPWD => $credentials,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 20,
]);
$response = curl_exec($handle);
if ($response === false) {
$error = curl_error($handle);
curl_close($handle);
throw new RuntimeException('Proxy test failed: ' . $error);
}
$statusCode = curl_getinfo($handle, CURLINFO_RESPONSE_CODE);
curl_close($handle);
if ($statusCode !== 200) {
throw new RuntimeException('Unexpected HTTP status: ' . $statusCode);
}
echo 'Proxy external IP: ' . trim($response) . PHP_EOL;
Required PHP extension: confirm that the PHP cURL extension is installed and enabled before running this example.
Configure an HTTP Proxy in Proxifier
Add the proxy server
- Open Profile → Proxy Servers
- Select Add
- Enter the assigned proxy IP and port
- Select HTTP as the protocol
- Enable authentication and enter the assigned credentials
- Run the built-in proxy check
Create routing rules
- Open Profile → Proxification Rules
- Create a rule for the required application
- Select the newly added HTTP proxy
- Apply the configuration
- Verify the external IP from the routed application
Configure an HTTP Proxy in Firefox and Chrome
Firefox manual proxy settings
- Open Settings and search for Network Settings.
- Select Manual proxy configuration.
- Enter the assigned IP under HTTP Proxy.
- Enter the assigned port.
- Enable the option to use the same proxy for HTTPS connections when shown.
- Save the settings and enter the username and password when prompted.
- Open the HighProxies IP checker to verify the result.
Chrome and Chromium browsers
Chrome normally uses the operating system proxy configuration. You can also start a separate test instance with an HTTP proxy:
google-chrome --proxy-server="http://PROXY_IP:PROXY_PORT"
Chrome will request the proxy username and password when authentication is required.
Do not add credentials to a public Chrome shortcut: use the browser authentication prompt or a trusted proxy-management extension.
Configure a HighProxies HTTP Proxy in AdsPower
Select HTTP as the proxy type, enter the assigned host, port, username and password, and run AdsPower's proxy check. After saving the proxy, assign it to the intended browser profile and verify the IP from inside that profile.
Add the connection
- Open the profile proxy settings
- Select custom proxy configuration
- Choose HTTP
- Enter the assigned endpoint and authentication
- Run the connection test
Verify the profile
- Save the proxy
- Assign it to the correct profile
- Launch the profile
- Open the IP checker inside the profile
- Confirm the expected IP and country
Fix Common HTTP Proxy Errors
407 Proxy Authentication Required
- Copy the username and password again
- Remove spaces before or after each value
- Confirm that the service is active
- Check whether the application saved old credentials
- Use IP authentication only after authorising the correct public IP
Connection timeout or refusal
- Verify the proxy IP and port
- Select HTTP rather than HTTPS or SOCKS5
- Check local firewall and antivirus filtering
- Temporarily disable conflicting VPN or proxy software
- Test the connection with cURL
HTTP works but HTTPS websites fail
- Keep the proxy type set to HTTP
- Confirm that the software supports CONNECT tunnelling
- Test an HTTPS destination with cURL
- Check whether the target website blocks the assigned IP
- Review the application error rather than changing the protocol blindly
The normal IP is still displayed
- Run the IP test inside the configured browser or application
- Confirm that the correct browser profile uses the proxy
- Restart the application after saving changes
- Disable another extension that controls proxy settings
- Check the routing rule in Proxifier
When contacting support: provide the affected proxy IP and port, your current public IP, the software name and version, a complete screenshot of the settings, and the exact error. Hide the proxy password from screenshots.
HTTP Proxy Configuration Questions
Should I select HTTP or HTTPS as the proxy type?
Select HTTP. HighProxies provides this endpoint as an HTTP proxy. It can still connect to HTTPS websites through the CONNECT method.
Why does Python use the HTTP proxy URL for both HTTP and HTTPS?
The dictionary keys identify the destination URL scheme. Both types of destination traffic are sent through the same HTTP proxy endpoint, so both values use the same http:// proxy URL.
Can I authenticate by public IP instead of username and password?
Yes, when the service and application support IP authentication. Authorise the current public IP in the HighProxies control panel and leave the credential fields empty.
How can I confirm that the proxy works?
Run the cURL IP test or open the HighProxies IP checker inside the configured application. The displayed IP should match the assigned proxy instead of your normal connection.
What does a 407 proxy error mean?
A 407 response means the proxy requires valid authentication. Recheck the username, password or authorised public IP and make sure the application is not reusing outdated credentials.
Can an HTTP proxy access HTTPS websites securely?
Yes. The browser or application creates a CONNECT tunnel through the HTTP proxy, while TLS encryption remains between the client and the destination website.
Need a Dedicated HTTP Proxy?
Choose a HighProxies private proxy, copy the assigned connection details and use this guide to configure your browser, script or desktop application.