Troubleshooting Guide

Solutions to common issues and error codes when using PepeProxy.

Common Error Codes

HTTP 407 - Proxy Authentication Required

Error Message:

HTTP/1.1 407 Proxy Authentication Required

Causes:

  • Incorrect username or password
  • Missing authentication credentials
  • Expired proxy credentials

Solutions:

  1. Verify your credentials:
# Make sure username and password are correct
proxy = 'http://YOUR_USERNAME:YOUR_PASSWORD@us-01.pepeproxy.com:2333'
  1. Check for special characters: If your password contains special characters, URL-encode them:
from urllib.parse import quote
username = 'user123'
password = 'p@ss&word!'
proxy = f'http://{quote(username)}:{quote(password)}@us-01.pepeproxy.com:2333'
  1. Regenerate proxies: If credentials are expired or invalid, generate new proxies from your dashboard.

HTTP 403 - Forbidden

Error Message:

HTTP/1.1 403 Forbidden

Causes:

  • Target website blocking the proxy IP
  • Website detecting automated traffic
  • Rate limiting triggered
  • Geo-restrictions

Solutions:

  1. Rotate to a different IP: Use rotating proxies or generate new sticky session proxies.

  2. Add realistic headers:

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate, br',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1'
}
  1. Slow down requests:
import time
for url in urls:
    response = requests.get(url, proxies=proxies)
    time.sleep(3)  # 3-second delay between requests
  1. Try a different location: Some websites have stricter blocking for certain countries. Try proxies from a different country.

HTTP 429 - Too Many Requests

Error Message:

HTTP/1.1 429 Too Many Requests

Causes:

  • Sending requests too quickly
  • Hitting rate limits on target website
  • Using same IP for too many requests

Solutions:

  1. Implement exponential backoff:
import time
import random

def fetch_with_retry(url, max_retries=5):
    for i in range(max_retries):
        try:
            response = requests.get(url, proxies=proxies, timeout=30)
            if response.status_code == 429:
                wait = (2 ** i) + random.random()
                print(f"Rate limited. Waiting {wait:.2f} seconds...")
                time.sleep(wait)
                continue
            response.raise_for_status()
            return response
        except requests.exceptions.RequestException as e:
            if i == max_retries - 1:
                raise
    return None
  1. Use rotating proxies: Fresh IP for each request reduces rate limit issues.

  2. Add delays:

time.sleep(random.uniform(2, 5))  # Random delay between 2-5 seconds

HTTP 503 - Service Unavailable

Error Message:

HTTP/1.1 503 Service Unavailable

Causes:

  • Target website is down or overloaded
  • Temporary network issues
  • Website blocking suspected bot traffic

Solutions:

  1. Retry with exponential backoff:
def fetch_with_retry(url, max_retries=3):
    for i in range(max_retries):
        try:
            response = requests.get(url, proxies=proxies, timeout=30)
            response.raise_for_status()
            return response
        except requests.exceptions.RequestException:
            if i < max_retries - 1:
                time.sleep(2 ** i)
                continue
            raise
  1. Check if website is down: Try accessing the URL directly without proxy to confirm it’s not a website issue.

  2. Rotate IPs: Generate new proxies if the issue persists.


Connection Timeout

Error Message:

requests.exceptions.ConnectTimeout: HTTPSConnectionPool

Causes:

  • Network connectivity issues
  • Slow proxy response
  • Firewall blocking connection
  • Target website taking too long to respond

Solutions:

  1. Increase timeout:
response = requests.get(
    url,
    proxies=proxies,
    timeout=(10, 60)  # (connect timeout, read timeout)
)
  1. Check your internet connection: Ensure you have stable internet connectivity.

  2. Try a different host location: Switch between DE, US, or CIS proxy hosts for better latency.

  3. Verify proxy credentials: Make sure the proxy URL is correct and credentials are valid.


SSL/TLS Certificate Errors

Error Message:

SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]

Causes:

  • SSL certificate verification issues
  • MITM proxy configuration
  • Outdated SSL libraries

Solutions:

  1. Update SSL libraries:
pip install --upgrade certifi urllib3 requests
  1. Verify SSL (recommended):
response = requests.get(url, proxies=proxies, verify=True)
  1. Disable verification (NOT recommended for production):
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

response = requests.get(url, proxies=proxies, verify=False)

DNS Resolution Errors

Error Message:

requests.exceptions.ConnectionError: Failed to resolve us-01.pepeproxy.com

Causes:

  • DNS server issues
  • Network connectivity problems
  • Incorrect proxy hostname

Solutions:

  1. Check internet connection: Verify you’re connected to the internet.

  2. Flush DNS cache:

# Windows
ipconfig /flushdns

# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Linux
sudo systemd-resolve --flush-caches
  1. Try alternative DNS: Use Google DNS (8.8.8.8) or Cloudflare DNS (1.1.1.1).

  2. Verify hostname: Ensure you’re using the correct proxy hostname: us-01.pepeproxy.com


Library-Specific Issues

Python Requests

Issue: Proxy not being used

# ❌ Wrong - proxies param is misspelled
response = requests.get(url, proxy=proxies)

# ✅ Correct
response = requests.get(url, proxies=proxies)

Issue: SOCKS proxy not working

Install socks support:

pip install requests[socks]

Then use:

proxies = {
    'http': 'socks5://username:password@us-01.pepeproxy.com:2333',
    'https': 'socks5://username:password@us-01.pepeproxy.com:2333'
}

Node.js / Axios

Issue: Proxy authentication failing

// ❌ Wrong - missing auth
const agent = new HttpsProxyAgent('http://us-01.pepeproxy.com:2333');

// ✅ Correct
const agent = new HttpsProxyAgent('http://username:password@us-01.pepeproxy.com:2333');

Issue: Self-signed certificate error

// Add rejectUnauthorized option
const agent = new HttpsProxyAgent({
  host: 'us-01.pepeproxy.com',
  port: 2333,
  auth: 'username:password',
  rejectUnauthorized: true, // Set to false only for testing
});

Puppeteer / Playwright

Issue: Proxy not applying to browser

// ❌ Wrong - missing --proxy-server flag
const browser = await puppeteer.launch();

// ✅ Correct
const browser = await puppeteer.launch({
  args: ['--proxy-server=us-01.pepeproxy.com:2333'],
});

// Authenticate on each page
page.authenticate({
  username: 'your_username',
  password: 'your_password',
});

Issue: Page timeout with proxy

await page.goto(url, {
  timeout: 60000, // Increase timeout to 60 seconds
  waitUntil: 'networkidle2',
});

Performance Issues

Slow Response Times

Symptoms:

  • Requests taking longer than expected
  • Frequent timeouts

Solutions:

  1. Choose closer host location:

    • Europe → DE host
    • Americas → US host
    • Asia/Eastern Europe → CIS host
  2. Reduce target location distance: If scraping US websites, use US-based residential IPs for lower latency.

  3. Check network connectivity: Run speed test to verify your internet connection.

  4. Optimize request size: Only download what you need:

    response = requests.get(url, proxies=proxies, stream=True)
    # Only read first 1KB
    content = response.raw.read(1024)

High Traffic Consumption

Symptoms:

  • Balance depleting faster than expected
  • Traffic usage higher than anticipated

Solutions:

  1. Avoid downloading unnecessary resources:
# Block images, CSS, fonts in Puppeteer
await page.setRequestInterception(True)
page.on('request', request => {
    const resourceType = request.resourceType()
    if (['image', 'stylesheet', 'font'].includes(resourceType)) {
        request.abort()
    } else {
        request.continue()
    }
})
  1. Use HEAD requests when possible:
# Check if URL exists without downloading content
response = requests.head(url, proxies=proxies)
  1. Implement caching:
import requests_cache

requests_cache.install_cache('proxy_cache', expire_after=3600)
  1. Monitor usage: Check your dashboard regularly to track traffic consumption.

Debugging Tips

Enable Debug Logging

Python:

import logging
import http.client as http_client

http_client.HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

Node.js:

// Set environment variable
process.env.NODE_DEBUG = 'http,https';

Test Proxy Connection

Quick test:

curl -x http://username:password@us-01.pepeproxy.com:2333 https://api.ipify.org

Python test:

import requests

proxy = 'http://username:password@us-01.pepeproxy.com:2333'
proxies = {'http': proxy, 'https': proxy}

try:
    # Check external IP
    response = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=10)
    print(f"Proxy IP: {response.json()['ip']}")
    print("✓ Proxy is working!")
except Exception as e:
    print(f"✗ Proxy error: {e}")

Verify Proxy Location

import requests

proxies = {'http': proxy, 'https': proxy}
response = requests.get('http://ip-api.com/json/', proxies=proxies)
data = response.json()

print(f"IP: {data['query']}")
print(f"Country: {data['country']}")
print(f"City: {data['city']}")
print(f"ISP: {data['isp']}")

Account Issues

Insufficient Balance

Error:

Error: Insufficient balance to generate proxies

Solution: Add balance to your account through the billing page. Minimum top-up is $5 USD.


Account Suspended

Symptoms:

  • Cannot generate new proxies
  • Existing proxies stop working
  • Login shows suspension notice

Causes:

  • Violation of terms of service
  • Prohibited activities detected
  • Payment disputes

Solution: Contact support for account review and reinstatement.


Proxies Not Generating

Symptoms:

  • “Generate Proxies” button doesn’t work
  • No proxies appear after generation
  • Error message during generation

Solutions:

  1. Check balance: Ensure you have sufficient balance ($5 minimum)
  2. Verify traffic allocation: Must allocate at least 1 MB per proxy
  3. Clear browser cache: Try refreshing the page or clearing cache
  4. Try different browser: Test in incognito/private mode
  5. Contact support: If issue persists, reach out to our team

Still Having Issues?

If you’ve tried the solutions above and still experiencing problems:

  1. Check our status page: Verify there are no ongoing outages
  2. Review documentation: Ensure configuration matches our guides
  3. Contact support: Reach out through support page with:
    • Detailed error description
    • Error messages/logs
    • Steps to reproduce
    • Code snippets (if applicable)
    • Your account email

Our support team typically responds within 24 hours.


Need more help? Contact support →