Postman to cURL
Converta exportações de solicitação Postman em JSON para comandos cURL.
Sobre esta ferramenta
Postman é uma das plataformas mais populares para testes de API, permitindo que desenvolvedores organizem, documentem e testem requisições HTTP com facilidade. No entanto, às vezes é necessário converter essas requisições em comandos cURL—seja para compartilhar com membros da equipe, executar em scripts ou incorporar em documentação. Esta ferramenta converte instantaneamente exportações JSON do Postman em comandos cURL executáveis, eliminando a necessidade de reescrita manual.
Para usar este conversor, exporte sua requisição ou coleção do Postman como JSON, cole o JSON no campo de entrada e clique em "Converter". A ferramenta analisa automaticamente cabeçalhos, corpo da requisição, parâmetros de consulta e outras configurações, gerando comandos cURL prontos para usar. Isso é especialmente útil para engenheiros de DevOps, desenvolvedores backend e equipes de QA que precisam mover rapidamente requisições de API do Postman para a linha de comando ou pipelines CI/CD.
Perguntas Frequentes
Implementação de Código
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.