DEV Community

Cover image for Making HTTP Simple with Python request Module.
Lawani Elyon John
Lawani Elyon John

Posted on

3

Making HTTP Simple with Python request Module.

Introduction

HTTP is a TCP/IP-based application layer communication protocol that standardizes how clients and servers communicate with each other.
It is used to load webpages using hypertext links.
"Whether you're fetching data from an API or submitting form data, the requests library in Python is your go-to tool for making HTTP requests seamless and intuitive."

How to install requests

In your terminal type in:

pip install requests
Enter fullscreen mode Exit fullscreen mode

Well it’s part of the Python standard library’s ecosystem but needs to be installed.

This is us making our first basic request so.... :

import requests
response = requests.get('https://jsonplaceholder.typicode.com/todos')
print(response.json())
Enter fullscreen mode Exit fullscreen mode

The response object contains all the details of the request, including status codes, headers, and data. Use response.json() to parse JSON data directly.

The HTTP Methods that are used with requests:

If you're using the request library there are various requests the library supports:

  1. GET: Used to retrieve data from the server.
  2. POST: Used to send data from a server.
  3. PUT/PATCH: Used to update an existing resource
  4. DELETE: Used to remove a resource.

This is my second request using a POST Method:

data = {'title': 'Create an example', 'completed': 'true', 'userId': 1}
response = requests.post('https://jsonplaceholder.typicode.com/todos',json=data)
print(response.json())
Enter fullscreen mode Exit fullscreen mode

How you handle the errors and check the status code.

response = requests.get('https://jsonplaceholder.typicode.com/todos')
if response.status_code == 200:
print("Success:", response.text)
else:
print("Failed with status code:", response.status_code)
Enter fullscreen mode Exit fullscreen mode

Advance cases in requests.

  1. File Uploading :
files = {'file': open('firstexample.txt', 'rb')}
response = requests.post('https://jsonplaceholder.typicode.com/todos', files=files)
print(response.status_code)
Enter fullscreen mode Exit fullscreen mode

Some practical use cases :

These are some real - world applications where requests library can be used:

  1. API Integration: API Integration: Fetch and display data from public APIs like weather, news, or user information.
  2. Webhooks: Interact with services like Slack or Zapier to automate workflows.
  3. Web Scraping: (Be responsible!) Fetch HTML content for analysis using tools like BeautifulSoup in conjunction with requests.

Conclusion

Mastering Python’s requests library is an essential skill for developers working with APIs or web services. It simplifies complex HTTP operations, making it easier to focus on your application’s logic.
For more information, refer to the official documentation.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (1)

Collapse
 
b0ym3r profile image
Stesha Quarcoo

Thanks for the short yet insightful tutorial

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay