Utilizing Proxies with Python Requests

Using proxies with Python offers enhanced privacy, security, and flexibility. It enables anonymous browsing, access to geo-blocked content, efficient web scraping by preventing IP bans, and the ability to test applications in different geographic locations.

Setting up a proxy with Python can be done using various libraries like requests, urllib, or http.client. Here, we will show you how to set up a proxy using the requests library, which is commonly used for HTTP requests.

1. First, make sure you have the requests library installed. If you don't have it, you can install it using the pip command.

pip install requests

2. After you've installed the requests library, import the requests library with the import command.

import requests

3. For this step we provide an example of how you can use the requests library to make a request through a proxy. This example demonstrates how to make a GET request using a proxy. You can modify it to perform other HTTP methods (POST, PUT, DELETE, etc.) by using requests.post, requests.put, requests.delete, etc., in a similar manner.

import requests
response = requests.get("http://httpbin.org/ip")

The code above demonstrates using Python's requests library to access a URL via a proxy server. It configures the proxy details, sets the target URL, and makes a GET request using the proxy. If the request succeeds, it prints the retrieved content; otherwise, it notifies you of the failure and the associated status code. Adapting the proxy server details and target URL allows you to utilize this code for various proxy-based HTTP requests in Python.

import requests
proxies = {
  'http': 'http://USERNAME:PASSWORD@resi.proxiware.com:8080',
  'https': 'http://USERNAME:PASSWORD@resi.proxiware.com:8080'
url = 'http://httpbin.org/ip'
response = requests.post(url, proxies=proxies)

Filling in your proxy details

Inside the proxies dictionary variable you will enter the full connection string from the proxy builder. In the above example we use the following format:

    "request_protocol": "proxy_protocol://username:password@host:port"


Our proxies support HTTP, HTTPS, and SOCKS5 protocols.

Username and password

These are included in the connection string. The username portion is determind by your selections in the proxy builder.

    Note: Be sure to enter every character value of each key segment in the proxy connection string. Segments are separated by a colon symbol or at sign.


The hostname will be different based on the proxy network you want to connect with.

    Residential = resi.proxiware.com

    Mobile = mbl.proxiware.com

    Datacenter = dc.proxiware.com


The port number is determend by the selected protocol in the builder. Port 8080 is used for HTTP/S and 8085 for SOCKS5.

Additional notes:

Automated scraping on certain websites can lead to the blocking of suspected IP addresses. Relying on a single proxy server IP for consecutive scraping requests increases the risk of the proxy IP being flagged and blocked. Our proxies with a rotating session type are best for these cases. Always remember to check the target domains terms of service and scraping policies to ensure your use case is compatible.

Python and any apps or services provided by a third party are not owned or managed by Proxiware. Prior to using or accessing third-party apps, services, or software, please thoroughly review their policies and practices to ensure compatibility with your needs. Proxiware is not responsible or liable for any third-party apps, services, or software.

Proxiware is a proxy service that offers residential, mobile and datacenter proxies. Our team of specialists have been working in the proxy industry for over 5 years. With over 10 years of experience in networking solutions.



Terms or service
Privacy policy
Cookie policy