skillby microsoft

requests

Best practices for HTTP client usage with Requests including sessions, error handling, and timeouts.

Installs: 0
Used in: 1 repos
Updated: 5h ago
$npx ai-builder add skill microsoft/requests

Installs to .claude/skills/requests/

# Skill: Requests

Best practices for HTTP client usage with Requests including sessions, error handling, and timeouts.

## When to Use

Apply this skill when making HTTP requests with the Requests library — sessions, auth, error handling, retries, and file uploads.

## Sessions

-   Use `requests.Session()` for connection pooling and persistent headers/cookies across multiple requests.
-   Configure `session.headers` for default auth tokens and user-agent strings.
-   Use `session.mount()` with `HTTPAdapter` for retry logic.

## Error Handling

-   Always call `response.raise_for_status()` to surface HTTP errors as exceptions.
-   Always set `timeout=(connect_timeout, read_timeout)` — never use infinite timeouts.
-   Handle `requests.ConnectionError`, `requests.Timeout`, and `requests.HTTPError` explicitly.

## Retries

-   Use `urllib3.util.Retry` with `HTTPAdapter` for automatic retries with backoff.
-   Configure status-based retries for transient errors (429, 500, 502, 503, 504).

## Security

-   Never disable SSL verification (`verify=False`) in production.
-   Pass credentials via environment variables, not hardcoded strings.
-   Use `auth=` parameter for HTTP auth rather than manually setting headers.

## Pitfalls

-   Don't forget timeouts — they default to None (infinite wait).
-   Don't use `requests.get()` for high-throughput — use sessions.
-   Close responses from streaming requests (`stream=True`) to release connections.

Quick Install

$npx ai-builder add skill microsoft/requests

Details

Type
skill
Author
microsoft
Slug
microsoft/requests
Created
5h ago