Files
curl-to-code-converter/README.md
7000pctAUTO 0f79d0c22d
Some checks failed
CI / test (push) Has been cancelled
Initial upload: curl-to-code-converter CLI tool
2026-02-01 18:15:16 +00:00

3.4 KiB

curl-to-code-converter

A CLI tool that converts cURL commands into ready-to-use code snippets in multiple programming languages. Simply paste a cURL command and get clean, formatted code with proper headers, authentication, and body handling.

Features

  • Convert cURL to Python (requests)
  • Convert cURL to JavaScript (fetch)
  • Convert cURL to Go (net/http)
  • Convert cURL to Ruby (Net::HTTP)
  • Convert cURL to PHP (cURL)
  • Convert cURL to Java (HttpURLConnection)
  • Support for headers, authentication, JSON body
  • Interactive CLI with verbose output
  • Output to file or stdout

Installation

# Install from source
pip install -e .

# Or install directly
pip install curl-to-code-converter

Usage

Basic Conversion

# Convert to Python (default)
curl-to-code 'curl https://api.example.com/data'

# Convert to JavaScript
curl-to-code 'curl https://api.example.com/data' -l javascript

# Convert to Go
curl-to-code 'curl https://api.example.com/data' -l go

# Convert to Ruby
curl-to-code 'curl https://api.example.com/data' -l ruby

# Convert to PHP
curl-to-code 'curl https://api.example.com/data' -l php

# Convert to Java
curl-to-code 'curl https://api.example.com/data' -l java

With Headers and Data

# POST with JSON body
curl-to-code 'curl -X POST https://api.example.com -H "Content-Type: application/json" -d "{\"key\":\"value\"}"' -l python

# With authentication
curl-to-code 'curl -u user:pass https://api.example.com' -l python

# With custom headers
curl-to-code 'curl -H "Authorization: Bearer token" https://api.example.com' -l javascript

Output Options

# Write to file
curl-to-code 'curl https://api.example.com' -o output.py

# Verbose output (shows parsed details)
curl-to-code 'curl https://api.example.com' --verbose

Supported Options

Option Description
-l, --language Target language (python, javascript, go, ruby, php, java)
-o, --output Output file path
-v, --verbose Show verbose output

Supported cURL Options

  • -X, --request - HTTP method
  • -H, --header - Custom headers
  • -d, --data - Request body
  • -u, --user - Basic authentication
  • -A, --user-agent - User agent header
  • --compressed - Accept-Encoding header
  • -k, --insecure - Skip SSL verification
  • -b, --cookie - Cookie header

Examples

Python Output

import requests

response = requests.post(
    'https://api.example.com/data',
    headers={'Content-Type': 'application/json'},
    json={'key': 'value'}
)

print(response.status_code)
print(response.text)

JavaScript Output

const fetchData = async () => {
    try {
        const options = {
            method: 'POST',
            headers: {'Content-Type': 'application/json'},
            body: JSON.stringify({'key': 'value'})
        };

        const response = await fetch('https://api.example.com/data', options);
        const data = await response.json();
        console.log(data);
        return data;
    } catch (error) {
        console.error('Error:', error);
    }
};

fetchData();

Development

# Clone the repository
git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/curl-to-code-converter.git
cd curl-to-code-converter

# Install in development mode
pip install -e .

# Run tests
pytest tests/ -v

# Lint
ruff check .

# Type check
mypy curl_to_code_converter --ignore-missing-imports

Requirements

  • Python 3.7+
  • requests

License

MIT