# requests/requests

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/requests-requests).**

54,070 stars · 9,987 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/requests/requests
- Homepage: https://requests.readthedocs.io/en/latest/
- awesome-repositories: https://awesome-repositories.com/repository/requests-requests.md

## Description

Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network client providing fundamental components for session management, proxy routing, multi-part uploading, and SSL/TLS certificate verification.

The project distinguishes itself through a session manager that maintains cookies and reuses TCP connections to improve network performance. It also includes a dedicated multi-part form uploader for transmitting binary data and an integrated SSL/TLS certificate verifier to ensure encrypted and trusted communication.

The library covers a broad range of networking capabilities, including RESTful service communication, automated web scraping, and request authentication. It also provides traffic management tools such as connection timeout control, proxy connection routing, and incremental response streaming for handling large data volumes.

## Tags

### Web Development

- [HTTP API Integrations](https://awesome-repositories.com/f/web-development/http-api-integrations.md) — Serves as a comprehensive library for sending HTTP requests to remote servers and parsing responses for API integration.
- [Session Connection Pooling](https://awesome-repositories.com/f/web-development/http-cookie-managers/session-connection-pooling.md) — Maintains cookies and reuses TCP connections across multiple requests to improve overall network performance.
- [RESTful Services](https://awesome-repositories.com/f/web-development/restful-services.md) — Facilitates communication with RESTful services using standard HTTP methods and structured JSON payloads.
- [Response Streaming](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-response-handling/response-streaming.md) — Provides the ability to stream large HTTP response bodies incrementally to minimize memory consumption. ([source](https://github.com/requests/requests#readme))
- [Content-Type Based Deserializers](https://awesome-repositories.com/f/web-development/request-body-deserializers/request-and-response-transformers/content-type-based-deserializers.md) — Detects the Content-Type header of server responses to determine the appropriate character encoding and decompression strategy.
- [Web Scraping](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/web-scraping.md) — Provides the fundamental tools for downloading and decoding web page content for programmatic data extraction.

### Networking & Communication

- [Connection Pooling](https://awesome-repositories.com/f/networking-communication/connection-pooling.md) — Reuses TCP connections across multiple requests through connection pooling to reduce network latency and overhead.
- [HTTP Client Libraries](https://awesome-repositories.com/f/networking-communication/http-client-libraries.md) — Provides a human-readable Python library for performing synchronous HTTP requests and managing connection pools.
- [Request Data Transmission](https://awesome-repositories.com/f/networking-communication/request-data-transmission.md) — Provides comprehensive capabilities for sending HTTP requests with various data types and body formats to remote servers. ([source](https://github.com/requests/requests#readme))
- [Multipart File Uploads](https://awesome-repositories.com/f/networking-communication/http-file-uploads/large-file-uploads/multipart-file-uploads.md) — Enables the transfer of binary files and multipart form data to remote servers for storage or processing.
- [Proxy-Compatible Clients](https://awesome-repositories.com/f/networking-communication/http-proxies/proxy-compatible-clients.md) — Implements a client-side mechanism capable of routing all outbound HTTP traffic through specified proxy servers.
- [Multipart Form Encoding](https://awesome-repositories.com/f/networking-communication/multipart-form-encoding.md) — Serializes binary files and text fields into a single stream using boundary markers for server-side file uploads.
- [Multipart Form Uploaders](https://awesome-repositories.com/f/networking-communication/multipart-form-uploaders.md) — Provides a dedicated tool for transmitting files and binary data to remote servers via multi-part form encoding.
- [Multipart Form Uploads](https://awesome-repositories.com/f/networking-communication/multipart-form-uploads.md) — Implements a dedicated multi-part form uploader for transmitting binary assets and files to remote servers. ([source](https://github.com/requests/requests#readme))
- [Traffic Routing Proxies](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-infrastructure/traffic-routing-proxies.md) — Directs outgoing network traffic through intermediate proxy servers to bypass restrictions or obscure the client origin. ([source](https://github.com/requests/requests#readme))
- [Proxy Routing](https://awesome-repositories.com/f/networking-communication/request-proxies/proxy-routing.md) — Directs outgoing network traffic through specified intermediary proxy servers to bypass network restrictions.

### Security & Cryptography

- [Certificate Verification](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/certificate-verification.md) — Validates SSL/TLS certificates during HTTPS connections to ensure server authenticity and prevent man-in-the-middle attacks. ([source](https://github.com/requests/requests#readme))
- [Connection Certificate Verifiers](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/connection-certificate-verifiers.md) — Ensures secure network communication by validating digital certificates during HTTPS connections against trusted authorities.
- [Standard Web Authentication Schemes](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/standard-web-authentication-schemes/basic-authentication/standard-web-authentication-schemes.md) — Implements standard HTTP authentication schemes such as Basic and Digest for accessing protected remote resources. ([source](https://github.com/requests/requests#readme))
- [Session State Persistence](https://awesome-repositories.com/f/security-cryptography/identity-authentication/identity-based-authentication/session-state-persistence.md) — Manages cookies and security credentials across multiple requests to maintain a persistent authenticated user state.
- [Persistent Session Managers](https://awesome-repositories.com/f/security-cryptography/user-account-management/persistent-session-managers.md) — Maintains persistent session data and authentication tokens across multiple network requests to ensure a consistent user state. ([source](https://github.com/requests/requests#readme))

### Data & Databases

- [Request Timeouts](https://awesome-repositories.com/f/data-databases/connection-pools/timeout-management/request-timeouts.md) — Allows setting maximum wait durations for server responses to prevent the application from freezing during network failures. ([source](https://github.com/requests/requests#readme))
- [Response Decoders](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/data-serialization-parsing/response-decoders.md) — Automatically detects character sets and applies decoding logic to convert incoming network data into readable text. ([source](https://github.com/requests/requests#readme))

### Part of an Awesome List

- [Example Projects](https://awesome-repositories.com/f/awesome-lists/devtools/example-projects.md) — Reference implementation of a robust test suite.
