DEV Community

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

Posted on

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.

Top comments (1)

Collapse
 
b0ym3r profile image
Stesha Quarcoo

Thanks for the short yet insightful tutorial