Quiero ejecutar un comando curl
en Applescript que haga lo siguiente ( según esta pregunta / respuesta de SE ) :
... Haga un
HTTP POST
de contents (como una cadena) de un archivo local ubicado enpath/to/my-file.txt
a un punto final de URL enhttp://example.com/API
.
El comando curl
correcto para eso es el siguiente:
curl -d "data=@~/path/to/my-file.txt" https://example.com/API
Luego de las respuestas en esta publicación , probé el siguiente comando de Apple:
AppleScriptdo shell script "curl -d data=@~/path/to/my-file.txt https://example.com/API"
El resultado que espero es ver el contenido de my-file.txt PUBLICADO en el punto final de la API en https://example.com/API
con la clave data
.
Sin embargo, el resultado real que veo en el punto final con la clave data
es la siguiente cadena:
"@~/path/to/my-file.txt
En otras palabras, en lugar de enviar POSTing el contenido del archivo, es POSTing la ruta literal al archivo como una cadena.
Pregunta
¿Cuál es la sintaxis correcta del comando Applescript?
Otros intentos fallidos:
AppleScriptdo shell script "curl -d data=\@~/path/to/my-file.txt https://example.com/API"
do shell script "curl -d \"data=@~/path/to/my-file.txt\" https://example.com/API"
do shell script "curl -d 'data=@~/path/to/my-file.txt' https://example.com/API"
En la lista para probar:
- Use la ruta de acceso completa a my-file.txt, no use ~.
- Escape la opción "en los datos =, por ejemplo: do shell script" curl -d \ "data=@~/path/to/my-file.txt \" enlace "