Opciones de cURL admitidas

cURL (Client for URLs) es una biblioteca de funciones de software de código abierto que permiten al paso de guión Insertar desde URL usar un gran número de opciones de transferencia de archivos habituales. En el paso de guión, utilice Especificar opciones de cURL para crear un cálculo que incluya una o varias de las siguientes opciones de cURL.

Nota  En las opciones cURL, incluya una barra diagonal inversa antes de cada comilla. Por ejemplo, para especificar un encabezado HTTP para Content-type: application/json, la expresión de texto de Especificar opciones de cURL es:

"--header \"Content-type: application/json\""

Los clientes FileMaker solo admiten las opciones enumeradas a continuación. Para obtener más información, consulte la documentación de cURL.

Opción1 Parámetro2 Notas

--anyauth

 

 

--aws-sigv4

<provider1[:provider2[:region[:service]]]>

Para enviar la autenticación de firma de Amazon Web Services (AWS) V4 en encabezados HTTPS, especifique una cadena para el proveedor y, opcionalmente, la región y el servicio. Utilice también --user para especificar access_key_id:secret_access_key.

En los guiones del lado del servidor, esta opción no es compatible con FileMaker Server en Ubuntu 20.

--basic

 

 

--cert

-E

<$[$]fmvariable[:password]>

Especifique el archivo de certificado de cliente3 que se utilizará con HTTPS, FTPS u otro protocolo basado en SSL. Añada :[password] para especificar una frase de contraseña para el certificado de cliente.

Esta opción presupone que un archivo de certificado tiene concatenados la clave privada y el certificado de cliente. Utilice --key y --pass para especificarlos de forma independiente.

--cert-type

<tipo>

Especifique el tipo del certificado de cliente. PEM, DER y P12 son tipos admitidos. Si no se especifica ninguno, se utilizará PEM.

--ciphers

<lista de cifrados>

 

--connect-timeout

<segundos>

Especifique un número decimal de segundos.

--continue-at

-C

<desfase>

No se admite "-" para el tamaño de archivo actual. Los datos sustituyen a los destinos binarios, no se anexan a ellos.

--cookie

-b

<nombre=datos[;n2=d2]> o <$[$]fmvariable>

Consulte la nota 3 de la tabla.

--cookie-jar

-c

<$[$]fmvariable>

El acceso directo a los archivos y "-" se sustituyen por una variable de FileMaker.

--crlf

 

 

--data

-d

<datos> o @<$[$]fmvariable>

Consulte la nota 4 de la tabla.

--data-ascii

<datos> o @<$[$]fmvariable>

Consulte la nota 4 de la tabla.

--data-binary

<datos> o @<$[$]fmvariable>

Consulte la nota 4 de la tabla.

--data-raw

<data>

 

--data-urlencode

<datos>, =<datos>, @<$[$]fmvariable>, <nombre>=<datos> o <nombre>@<$[$]fmvariable>

Consulte la nota 4 de la tabla.

--digest

 

 

--disable-eprt

 

 

--disable-epsv

 

 

--dump-header

-D

<$[$]fmvariable>

Consulte la nota 3 de la tabla.

--expect100-timeout

<segundos>

Especifique un número decimal de segundos.

--fail

-f

 

 

--FM-return-container-variable

 

Cuando Insertar desde URL se dirige a una variable, use esta opción para forzar que los datos devueltos se almacenen como datos del contenedor.

--FM-text-encoding

<codificación>

Convierte el texto de las opciones que siguen inmediatamente a esta opción de la codificación interna de caracteres de FileMaker a la codificación especificada. Utilice uno de los nombres definidos para el parámetro encoding de la función TextEncode.

--form

-F

<nombre=contenido> o <nombre=@$[$]fmvariable>

Consulte la nota 4 de la tabla.

--form-string

<nombre=contenido>

 

--ftp-alternative-to-user

<comando>

 

--ftp-create-dirs

 

 

--ftp-method

multicwd, nocwd o singlecwd

Especifique uno de estos métodos.

--ftp-pasv

 

 

--ftp-port

-P

<interfaz>, <dirección IP>, <nombre de anfitrión> o -

Añada :[start]-[end] para especificar un intervalo de puertos.

--ftp-pret

 

 

--ftp-skip-pasv-ip

 

 

--ftp-ssl-ccc

 

También establece --ftp-ssl-ccc-mode en passive si aún no se ha definido.

--ftp-ssl-ccc-mode

active o passive

Especifique uno de estos modos.

--ftp-ssl-control

 

 

--head

-I

 

 

--header

-H

<nombre: valor>

Utilice esta opción una vez para cada encabezado que especifique.

--ignore-content-length

 

 

--interface

<nombre>

 

--ipv4

-4

 

 

--ipv6

-6

 

 

--junk-session-cookies

-j

 

 

--keepalive-time

<segundos>

Especifique un número entero de segundos.

--key-type

<tipo>

Especifique el tipo del archivo de clave privada. DER y PEM son tipos admitidos. Si no se especifica ninguno, se utilizará PEM.

--key

<$[$]fmvariable>

Especifique el archivo de clave privada3. Utilice esta opción si necesita proporcionar la clave privada con independencia del archivo de certificado.

--limit-rate

<velocidad [b|B|k|K|m|M|g|G]>

Especifique un entero seguido de una unidad opcional.

--list-only

-l

 

 

--local-port

<número>[-num]

Especifique un puerto o un intervalo de puertos.

--location

-L

 

 

--location-trusted

 

 

--mail-auth

<dirección>

 

--mail-from

<dirección>

 

--mail-rcpt

<dirección>

 

--max-filesize

<bytes>

 

--max-time

-m

<segundos>

Especifique un número decimal de segundos.

--no-compressed

 

Por defecto, se solicita una respuesta comprimida. Utilice esta opción para desactivarlos.

--no-keepalive

 

De forma predeterminada, los mensajes de "keepalive" están activados. Utilice esta opción para desactivarlos.

--noproxy

<anfitrión[,anfitrión]> o *

 

--output

-o

<nombre de archivo>

El nombre de archivo solo se utiliza como atributo de los datos del contenedor.

--pass

<frase>

Frase de contraseña de la clave privada. Utilice esta opción si necesita proporcionar la frase de contraseña de la clave privada con independencia del archivo de certificado.

--path-as-is

 

 

--post301

 

 

--post302

 

 

--post303

 

 

--proxy

-x

<[protocolo://][usuario:contraseña@]anfitrión del proxy[:puerto]>

 

--proxy-anyauth

 

 

--proxy-basic

 

 

--proxy-digest

 

 

--proxy-header

<nombre: valor>

Utilice esta opción una vez para cada encabezado que especifique.

--proxy-user

-U

<usuario:contraseña>

A diferencia de la herramienta de línea de comandos, si la contraseña no existe, los clientes FileMaker no la solicitan al usuario.

--proxy1.0

<anfitrión del proxy[:puerto]>

 

--proxytunnel

-p

 

 

--pubkey

<$[$]fmvariable>

Especifique el archivo de clave pública3 que se utilizará con el protocolo SFTP. Utilice --key y --pass para especificar la clave privada y la frase de contraseña para la clave privada de forma independiente.

--quote

-Q

<comando>

Utilice esta opción una vez para cada comando en el servidor FTP.

--range

-r

<intervalo>

 

--raw

 

 

--referer

-e

<URL>

Admite ;auto al final de la URL cuando se utiliza con --location.

--request

-X

<comando>

 

--resolve

<anfitrión:puerto:dirección>

Utilice esta opción una vez para cada resolución que especifique.

--show-error

-S

 

Consulte Administración de errores.

--socks4

<anfitrión[:puerto]>

 

--socks4a

<anfitrión[:puerto]>

 

--socks5

<anfitrión[:puerto]>

 

--socks5-hostname

<anfitrión[:puerto]>

 

--speed-limit

-Y

<velocidad>

Especifique un número entero de bytes por segundo.

--speed-time

-y

<tiempo>

Especifique un número entero de segundos.

--ssl

 

También se admite --ftp-ssl.

--ssl-reqd

 

También se admite --ftp-ssl-reqd.

--time-cond

-z

<expresión de fecha>

Solo se puede especificar una expresión de fecha de estilo cURL.

--tr-encoding

 

 

--trace

<$[$]fmvariable>

Consulte la nota 3 de la tabla.

--trace-ascii

<$[$]fmvariable>

Consulte la nota 3 de la tabla.

--trace-time

 

 

--upload-file

-T

<$[$]fmvariable>

Consulte la nota 3 de la tabla. No se admite la globalización (especificar nombres de archivo que coinciden con un patrón). Para FTP y FTPS, el nombre del archivo después de subirlo al servidor será el mismo que el especificado al final de la URL. Para todos los demás protocolos admitidos, el nombre del archivo es el mismo que el especificado en los datos del contenedor; se omitirá cualquier nombre de archivo en la URL.

--use-ascii

-B

 

 

--user

-u

<usuario:contraseña>

A diferencia de la herramienta de línea de comandos, si la contraseña no existe, los clientes FileMaker no la solicitan al usuario.

--user-agent

-A

<cadena de agente>

 

--version

-V

 

Muestra información sobre la versión de la biblioteca cURL (libcurl). En la primera línea, se muestra la versión completa de libcurl y otras bibliotecas de terceros vinculadas. En la segunda línea (que comienza con "Features:"), se enumeran las funciones admitidas de libcurl.

Notas de la tabla

  1. En algunas opciones, se admiten las versiones larga y corta de la opción (por ejemplo, ‑‑data y -d).

  2. Las partes opcionales de los parámetros van entre corchetes [ ].

  3. El acceso directo a los archivos se sustituye por una variable de FileMaker.

  4. El acceso directo a los archivos se sustituye por una variable de FileMaker con el carácter @ como prefijo.

Usar variables

Aunque ninguna de las opciones admitidas le permite acceder directamente a los archivos o crearlos en el sistema de archivos, puede especificar una variable de FileMaker como origen o destino de los datos que requiera la opción. Para acceder a un archivo o crearlo, puede establecer la variable en un campo contenedor.

Para acceder a un archivo, puede establecer la variable en un campo contenedor que contenga el archivo y, a continuación, utilizar esa variable como parámetro de la opción cURL.

Para crear un archivo, puede utilizar la variable como parámetro de la opción cURL, establecer un campo contenedor en esa variable y, a continuación, exportar el campo contenedor como archivo.

Administración de errores

Las opciones cURL no admitidas se omiten.

Si utiliza la opción --show-error:

  • Cuando los errores devueltos por la biblioteca cURL provoquen que los clientes FileMaker devuelvan el código de error 1631 a través de la función Get ( LastError ) para indicar un error de conexión no especificado, la función Get ( LastErrorDetail ) devuelve el mismo texto que la herramienta de línea de comandos curl.

  • Cuando una operación se realiza correctamente, pero el servidor devuelve un código de respuesta 400 o superior con los datos, los clientes FileMaker devuelven el código de error correspondiente. Si no hay ningún código de error de FileMaker adecuado, Get ( LastError ) devuelve 1631 y Get ( LastErrorDetail ) devuelve el código de respuesta con el formato "Código de respuesta: nnn".

Si no se utiliza la opción --show-error, el código de respuesta del servidor 401 provoca que Get ( LastError ) devuelva el código de error de FileMaker 1627 ("Error de autenticación"). Todos los demás códigos de respuesta devuelven el código de error de FileMaker 0 ("No hay error").

Ejemplo

Envía HTTPS POST como dos pares de clave-valor, fname=Bob y lname=Smith, a ejemplo.com mediante las credenciales minombredeusuario y micontraseña, y almacena los datos solicitados en la variable $$results.

En el paso de guión Insertar desde URL:

  • Establezca Destino en la variable denominada $$results.

  • Establezca Especificar URL en https://ejemplo.com/.

  • Establezca Especificar opciones de cURL en uno de los siguientes conjuntos de opciones equivalentes:

    "--user minombredeusuario:micontraseña --data fname=Bob&lname=Smith"
    "--user minombredeusuario:micontraseña -d fname=Bob --data-ascii lname=Smith"
    "--user minombredeusuario:micontraseña -d @$post_data"

    donde la variable $post_data se establece en pares de clave-valor como texto o en un campo contenedor cuyo contenido es un archivo de texto que contiene los pares de clave-valor.

En el ejemplo anterior, este guión muestra el envío de pares de clave-valor de un archivo del campo contenedor post_data.

Copiar
Establecer variable [ $post_data ; tabla::post_data ]
Insertar desde URL [ Con diálogo: Inactivo ; Destino: $$results ; 
"https://ejemplo.com/" ; Verificar certificados SSL ; 
Opciones cURL: "--user minombredeusuario:micontraseña -d @$post_data" ]