https://github.com/psf/requests
A simple, yet elegant, HTTP library.
https://github.com/psf/requests
client cookies forhumans http humans python python-requests requests
Last synced: 20 days ago
JSON representation
A simple, yet elegant, HTTP library.
- Host: GitHub
- URL: https://github.com/psf/requests
- Owner: psf
- License: apache-2.0
- Created: 2011-02-13T18:38:17.000Z (almost 15 years ago)
- Default Branch: main
- Last Pushed: 2025-05-03T16:39:14.000Z (9 months ago)
- Last Synced: 2025-05-05T13:48:14.452Z (9 months ago)
- Topics: client, cookies, forhumans, http, humans, python, python-requests, requests
- Language: Python
- Homepage: https://requests.readthedocs.io/en/latest/
- Size: 12.6 MB
- Stars: 52,815
- Watchers: 1,327
- Forks: 9,444
- Open Issues: 278
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
- Authors: AUTHORS.rst
Awesome Lists containing this project
- awesome-python - requests - HTTP Requests for Humans (HTTP Clients / Monitoring)
- best-of-web-python - GitHub - 7% open · ⏱️ 15.10.2025): (HTTP Clients)
- awesome-python-zh - requests - 人类的HTTP请求。 (HTTP客户端)
- StarryDivineSky - psf/requests
- awesome-engineering - Requests
- python-awesome - requests - HTTP Requests for Humans. (HTTP Clients)
- awesome-python - requests - HTTP Requests for Humans. (HTTP Clients)
- awesome-python - requests - A simple and elegant HTTP library for Python. (Libraries / Core Libraries)
- awesome-web-scraping - requests - HTTP library for humans (Core Libraries / Python)
- awesome-python-resources - GitHub - 5% open · ⏱️ 27.07.2022): (HTTP)
- awesome - psf/requests - A simple, yet elegant, HTTP library. (Python)
- links - requests - The HTTP library for Python. (Python / Python libraries)
- awesome-python - requests - A simple, yet elegant HTTP library. ` 📝 a month ago ` (HTTP Clients [🔝](#readme))
- fucking-awesome-python - requests - HTTP Requests for Humans. (HTTP Clients)
- jimsghstars - psf/requests - A simple, yet elegant, HTTP library. (Python)
- fucking-awesome-python - :octocat: requests - :star: 49914 :fork_and_knife: 9140 - HTTP Requests for Humans. (HTTP Clients)
- awesome-starred - requests - A simple, yet elegant HTTP library. (Python)
- awesome-python-fa - **Requests** - یک کتابخانه ساده برای ارسال درخواستهای HTTP. این کتابخانه به طور گستردهای در تستهای امنیتی، به ویژه در زمینه آسیبپذیریهای مربوط به وب، مورد استفاده قرار میگیرد. شما میتوانید از Requests برای ارسال درخواستهای HTTP به وبسایتها و شبیهسازی حملات مثل XSS و CSRF استفاده کنید. (📚 فهرست / هک و امنیت)
- awesome-github-star - requests
- awesome-python - requests - HTTP Requests for Humans. (HTTP Clients)
- awesome-github - python的http请求库
- awesome-pypi-packages - Requests - HTTP client for network requests. (Networking)
- awesome-http - Requests - activity/y/psf/requests) (Programming Languages / Python)
- awesome-resources - requests - HTTP Requests for Humans. (Uncategorized / Uncategorized)
- awesome-starts - psf/requests - A simple, yet elegant HTTP library. (Python)
- awesome-data-analysis - Requests - A simple, yet elegant, HTTP library for Python. (🕸️ Web Scraping & Crawling / Tools)
README
# Requests
**Requests** is a simple, yet elegant, HTTP library.
```python
>>> import requests
>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
'{"authenticated": true, ...'
>>> r.json()
{'authenticated': True, ...}
```
Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your `PUT` & `POST` data — but nowadays, just use the `json` method!
Requests is one of the most downloaded Python packages today, pulling in around `30M downloads / week`— according to GitHub, Requests is currently [depended upon](https://github.com/psf/requests/network/dependents?package_id=UGFja2FnZS01NzA4OTExNg%3D%3D) by `1,000,000+` repositories. You may certainly put your trust in this code.
[](https://pepy.tech/project/requests)
[](https://pypi.org/project/requests)
[](https://github.com/psf/requests/graphs/contributors)
## Installing Requests and Supported Versions
Requests is available on PyPI:
```console
$ python -m pip install requests
```
Requests officially supports Python 3.9+.
## Supported Features & Best–Practices
Requests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.
- Keep-Alive & Connection Pooling
- International Domains and URLs
- Sessions with Cookie Persistence
- Browser-style TLS/SSL Verification
- Basic & Digest Authentication
- Familiar `dict`–like Cookies
- Automatic Content Decompression and Decoding
- Multi-part File Uploads
- SOCKS Proxy Support
- Connection Timeouts
- Streaming Downloads
- Automatic honoring of `.netrc`
- Chunked HTTP Requests
## API Reference and User Guide available on [Read the Docs](https://requests.readthedocs.io)
[](https://requests.readthedocs.io)
## Cloning the repository
When cloning the Requests repository, you may need to add the `-c
fetch.fsck.badTimezone=ignore` flag to avoid an error about a bad commit timestamp (see
[this issue](https://github.com/psf/requests/issues/2690) for more background):
```shell
git clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git
```
You can also apply this setting to your global Git config:
```shell
git config --global fetch.fsck.badTimezone ignore
```
---
[](https://kennethreitz.org) [](https://www.python.org/psf)