News
3 new Serverspace GPT API Language Models available now!
JT
July 11 2025
Updated July 11 2025

Python and HTTP clients

Networks

Python is often used to interact with external APIs for monitoring, integration, analytics, or automation. To do this competently and safely, it is important to use virtual environments and properly configure cyclic HTTP requests.

In this article we will analyze:

  1. creating a virtual environment;
  2. installing popular HTTP clients;
  3. developing typical API requests.

Creating and activating an environment

To do this, go to the project or create a directory where we will install the environment using the module.:

mkdir myproject && cd myproject && pip3 install venv &&
python3 -m venv venv

To activate the environment, specify:

Linux/macOS:

source venv/bin/activate

Windows:

venv\Scripts\activate

Installing HTTP libraries

pip install requests httpx

Fix the dependencies:

pip freeze > requirements.txt

Examples of HTTP requests

1. requests (synchronous client)

import requests

response = requests.get("https://api.github.com")
print(response.status_code)
print(response.json())

2. httpx (synchronous and asynchronous)

import httpx

response = httpx.get("https://api.github.com")
print(response.status_code)

Asynchronous version:

import httpx
import asyncio

async def main():
async with httpx.AsyncClient() as client:
resp = await client.get("https://api.github.com")
print(resp.status_code)

asyncio.run(main())

Cyclic queries based on data from a file

Let's say we have a list of IDs that we need to make API requests with. The script looks like this:

📁 input.txt


123
456
abc

🧠 main.py full example

import requests
import time

API_URL = "https://api.example.com/data /" # Replace with a real URL
HEADERS = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}

with open("input.txt", "r") as f:
values = [line.strip() for line in f if line.strip()]

for val in values:
try:
url = f"{API_URL}{val}"
response = requests.get(url, headers=HEADERS, timeout=10)

if response.status_code == 200:
print(f"[✓] {val}: Successful")
print(response.json())
else:
print(f"[!] {val}: Status {response.status_code}")

except requests.exceptions.RequestException as e:
print(f"[✗] {val}: Error — {e}")

time.sleep(1) # We are not overloading the API

The script:

1. Reads lines from a file input.txt (for example, IDs or codes);
2. Substitutes each line in the API URL;
3. Sends a GET request;
4. Processes the response;
5. Pauses between requests so as not to overload the server.

Working with HTTP in Python is easy if you use a virtual environment, manage dependencies correctly, monitor errors and request frequency, and process input data from files.

Vote:
5 out of 5
Аverage rating : 5
Rated by: 1
33145 North Miami, FL 2520 Coral Way apt 2-135
+1 302 425-97-76
700 300
ITGLOBAL.COM CORP
700 300

You might also like...

We use cookies to make your experience on the Serverspace better. By continuing to browse our website, you agree to our
Use of Cookies and Privacy Policy.