https://github.com/adaiasmagdiel/httpxfetch
A Python wrapper for the JavaScript fetch function, designed to streamline the process of reverse engineering APIs.
https://github.com/adaiasmagdiel/httpxfetch
fetch-api httpx python reverse-engineering wrapper
Last synced: 3 months ago
JSON representation
A Python wrapper for the JavaScript fetch function, designed to streamline the process of reverse engineering APIs.
- Host: GitHub
- URL: https://github.com/adaiasmagdiel/httpxfetch
- Owner: AdaiasMagdiel
- License: mit
- Created: 2024-01-19T00:01:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-19T02:04:34.000Z (over 1 year ago)
- Last Synced: 2025-01-06T02:28:30.560Z (5 months ago)
- Topics: fetch-api, httpx, python, reverse-engineering, wrapper
- Language: Python
- Homepage: https://pypi.org/project/httpxfetch/
- Size: 7.81 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# httpxfetch

`httpxfetch` is a Python wrapper for the JavaScript `fetch` function, designed to streamline the process of reverse engineering APIs. The primary goal of this project is to simplify testing and data inspection by allowing users to copy the `fetch` requests generated by browser developer tools, paste them into their Python code, and execute them seamlessly.
## Installation
You can install `httpxfetch` using pip:
```bash
pip install httpxfetch
```## Quick Start
```python
from httpxfetch import fetch# Example: Making a GET request
response = fetch('https://api.example.com/data')
print(response.status_code)
print(response.json())
```## Features
- **Simplified Testing:** Copy and paste `fetch` requests from browser developer tools into your Python code for easy testing and data exploration.
- **Wrapper for HTTPX:** Utilizes the powerful `httpx` library to perform HTTP requests in Python.
- **JSON Handling:** Automatically converts the request body to a JSON string using the `JSON.stringify` equivalent function.
## Usage
```python
from httpxfetch import fetch, JSON# Example: Making a POST request with JSON payload
url = 'https://api.example.com/data'
options = {
'method': 'post',
'headers': {'Content-Type': 'application/json'},
'body': JSON.stringify({'key': 'value'}),
}response = fetch(url, options)
print(response.status_code)
print(response.json())
```## Return Type
The `fetch` function returns an instance of the `httpx.Response` class. All methods available in the `httpx.Response` class can be applied to the result of the `fetch` function.
## Disclaimer
The project intentionally includes some redundant steps, such as converting the `fetch` body to a string before loading it as a dictionary. This is done to minimize the effort required, providing a convenient function to simulate `JSON.stringify` for ease of use.
## Contributing
Contributions are welcome! Feel free to open issues, submit pull requests, or provide suggestions to improve the project.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.