Sintaxis del comando del terminal Curl desde Applescript

1

Quiero ejecutar un comando curl en Applescript que haga lo siguiente ( según esta pregunta / respuesta de SE ) :

https://superuser.com/a/1054803/471181
  

... Haga un HTTP POST de contents (como una cadena) de un archivo local ubicado en path/to/my-file.txt a un punto final de URL en http://example.com/API .

El comando curl correcto para eso es el siguiente:

Terminal
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:

AppleScript
do 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:

API.data
"@~/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:

AppleScript
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"
do shell script "curl -d 'data=@~/path/to/my-file.txt' https://example.com/API"

En la lista para probar:

  1. Use la ruta de acceso completa a my-file.txt, no use ~.
  2. Escape la opción "en los datos =, por ejemplo: do shell script" curl -d \ "data=@~/path/to/my-file.txt \" enlace "
pregunta Mowzer 22.03.2016 - 19:35

0 respuestas

Lea otras preguntas en las etiquetas