Postman to cURL
Converti le esportazioni JSON delle richieste Postman in comandi cURL.
Informazioni sullo strumento
Postman è una delle piattaforme più popolari per il test delle API, consentendo agli sviluppatori di organizzare, documentare e testare facilmente le richieste HTTP. Tuttavia, a volte è necessario convertire queste richieste in comandi cURL—che si tratti di condividerle con i membri del team, eseguirle negli script o incorporarle nella documentazione. Questo strumento converte istantaneamente le esportazioni JSON di Postman in comandi cURL eseguibili, eliminando la necessità di riscrittura manuale.
Per utilizzare questo convertitore, esportate la vostra richiesta o la vostra raccolta Postman come JSON, incollate il JSON nel campo di input e fate clic su "Converti". Lo strumento analizza automaticamente intestazioni, corpo della richiesta, parametri di query e altre impostazioni, producendo comandi cURL pronti per l'uso. Ciò è particolarmente utile per ingegneri DevOps, sviluppatori backend e team di QA che hanno bisogno di spostare rapidamente le richieste API da Postman alla riga di comando o alle pipeline CI/CD.
Domande Frequenti
Implementazione del Codice
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.