İçeriğe geç
🛠️ToolsShed

Postman to cURL

Postman istek JSON dışa aktarımlarını cURL komutlarına dönüştürün.

Bu araç hakkında

Postman, geliştiricilerin HTTP isteklerini kolaylıkla organize etmelerine, belgelemelerine ve test etmelerine olanak tanıyan en popüler API test platformlarından biridir. Ancak bazen bu istekleri cURL komutlarına dönüştürmeniz gerekebilir—ister ekip üyeleriyle paylaşmak, ister betiklerde çalıştırmak, ister belgelendirmeye gömmek için. Bu araç, Postman JSON dışa aktarımlarını anında çalıştırılabilir cURL komutlarına dönüştürerek manuel yeniden yazma ihtiyacını ortadan kaldırır.

Bu dönüştürücüyü kullanmak için Postman isteğinizi veya koleksiyonunuzu JSON olarak dışa aktarın, JSON'u giriş alanına yapıştırın ve "Dönüştür"e tıklayın. Araç, başlıkları, istek gövdesini, sorgu parametrelerini ve diğer ayarları otomatik olarak ayrıştırarak hemen kullanılabilir cURL komutları üretir. Bu, Postman'dan API isteklerini hızlı bir şekilde komut satırına veya CI/CD boru hatlarına taşıması gereken DevOps mühendisleri, backend geliştiricileri ve QA ekipleri için özellikle yararlıdır.

Sıkça Sorulan Sorular

Kod Uygulaması

import json

def postman_to_curl(postman_json: str, pretty: bool = False) -> str:
    data = json.loads(postman_json)
    # Handle collection format
    if 'item' in data:
        results = []
        for item in data['item']:
            req = item.get('request', {})
            results.append(build_curl(req, pretty))
        return '\n\n'.join(results)
    # Handle single request
    req = data.get('request', data)
    return build_curl(req, pretty)

def build_curl(req: dict, pretty: bool) -> str:
    method = req.get('method', 'GET').upper()
    url_obj = req.get('url', {})
    url = url_obj if isinstance(url_obj, str) else url_obj.get('raw', '')
    parts = [f'curl -X {method}']
    for header in req.get('header', []):
        val = f"{header['key']}: {header['value']}"
        parts.append(f'-H "{val}"')
    body = req.get('body', {})
    if body.get('mode') == 'raw' and body.get('raw'):
        escaped = body['raw'].replace('"', '\\"')
        parts.append(f'-d "{escaped}"')
    parts.append(f'"{url}"')
    sep = ' \\\n  ' if pretty else ' '
    return sep.join(parts)

# Example
collection = json.dumps({
    "method": "POST",
    "url": {"raw": "https://api.example.com/data"},
    "header": [{"key": "Content-Type", "value": "application/json"}],
    "body": {"mode": "raw", "raw": '{"key":"value"}'}
})
print(postman_to_curl(collection, pretty=True))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.