Opzioni cURL supportate

cURL (Client for URLs) è una libreria open standard di funzioni software che consente all'istruzione di script Inserisci da URL di supportare molte opzioni comuni per il trasferimento dei file. In questa istruzione di script, utilizzare Specifica opzioni cURL per creare un calcolo che includa una o più delle seguenti opzioni cURL.

Nota  Nelle opzioni cURL, anteporre a ogni carattere virgolette un carattere backslash. Ad esempio, per specificare un'intestazione HTTP per Content-type: application/json, l'espressione di testo per Specifica opzioni cURL è:

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

I client FileMaker supportano solo le opzioni riportate di seguito. Per ulteriori informazioni, vedere la documentazione cURL.

Opzione1 Parametro2 Note

--anyauth

 

 

--aws-sigv4

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

Per inviare l'autenticazione della firma di Amazon Web Services (AWS) V4 nelle intestazioni HTTPS, specificare una stringa per il provider e, facoltativamente, la regione e il servizio. Utilizzare anche --user per specificare access_key_id:secret_access_key.

Negli script lato server, questa opzione non è supportata da FileMaker Server su Ubuntu 20.

--basic

 

 

--cert

-E

<$[$]variabilefm[:password]>

Specificare il file3 del certificato client da utilizzare con HTTPS, FTPS o un altro protocollo basato su SSL. Aggiungere in coda :[password] per specificare una passphrase per il certificato client.

Questa opzione presuppone che il file del certificato abbia concatenati ad esso una chiave privata e il certificato del client. Usare --key e --pass per specificarli in modo indipendente.

--cert-type

<tipo>

Specificare il tipo del certificato client. PEM, DER e P12 sono i tipi supportati. Se non è specificato, viene utilizzato PEM.

--ciphers

<elenco dei codici>

 

--connect-timeout

<secondi>

Specificare un numero decimale di secondi.

--continue-at

-C

<offset>

L'utilizzo di "-" per le dimensioni del file corrente non è supportato. I dati sostituiscono, non si aggiungono ai target binari.

--cookie

-b

<nome=dati[;n2=d2]> o <$[$]variabilefm>

Vedere la nota 3 alla tabella.

--cookie-jar

-c

<$[$]variabilefm>

L'accesso diretto al file e "-" vengono sostituiti con una variabile FileMaker.

--crlf

 

 

--data

-d

<dati> o @<$[$]variabilefm>

Vedere la nota 4 alla tabella.

--data-ascii

<dati> o @<$[$]variabilefm>

Vedere la nota 4 alla tabella.

--data-binary

<dati> o @<$[$]variabilefm>

Vedere la nota 4 alla tabella.

--data-raw

<data>

 

--data-urlencode

<dati> o =<dati> o @<$[$]variabilefm> o <nome>=<dati> o <nome>@<$[$]variabilefm>

Vedere la nota 4 alla tabella.

--digest

 

 

--disable-eprt

 

 

--disable-epsv

 

 

--dump-header

-D

<$[$]variabilefm>

Vedere la nota 3 alla tabella.

--expect100-timeout

<secondi>

Specificare un numero decimale di secondi.

--fail

-f

 

 

--FM-return-container-variable

 

Quando l'istruzione Inserisci da URL ha come destinazione una variabile, utilizzare questa opzione per forzare la memorizzazione come dati Contenitore dei dati restituiti.

--FM-text-encoding

<codifica>

Converte il testo nelle opzioni immediatamente successive a questa dalla codifica caratteri interna di FileMaker alla codifica specificata. Utilizzare uno dei nomi definiti per il parametro codifica della funzione TextEncode.

--form

-F

<nome=contenuto> o <nome=@$[$]variabilefm>

Vedere la nota 4 alla tabella.

--form-string

<nome=contenuto>

 

--ftp-alternative-to-user

<comando>

 

--ftp-create-dirs

 

 

--ftp-method

multicwd, nocwd o singlecwd

Specificare uno di questi metodi.

--ftp-pasv

 

 

--ftp-port

-P

<interfaccia> o <indirizzo IP> o <nome host> o -

Aggiungere :[inizio]-[fine] per specificare una serie di porte.

--ftp-pret

 

 

--ftp-skip-pasv-ip

 

 

--ftp-ssl-ccc

 

Imposta anche --ftp-ssl-ccc-mode su passive, se non è già impostato.

--ftp-ssl-ccc-mode

active o passive

Specificare uno di questi modi.

--ftp-ssl-control

 

 

--head

-I

 

 

--header

-H

<nome: valore>

Utilizzare questa opzione una volta per ogni intestazione specificata.

--ignore-content-length

 

 

--interface

<nome>

 

--ipv4

-4

 

 

--ipv6

-6

 

 

--junk-session-cookies

-j

 

 

--keepalive-time

<secondi>

Specificare un numero intero di secondi.

--key-type

<tipo>

Specificare il tipo di file con chiave privata. DER e PEM sono i tipi supportati. Se non è specificato, viene utilizzato PEM.

--key

<$[$]variabilefm>

Specificare il file con chiave privata3. Utilizzare questa opzione se è necessario fornire la chiave privata separatamente dal file del certificato.

--limit-rate

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

Specificare un numero intero seguito da un'unità opzionale.

--list-only

-l

 

 

--local-port

<num>[-num]

Specificare una porta o una serie di porte.

--location

-L

 

 

--location-trusted

 

 

--mail-auth

<indirizzo>

 

--mail-from

<indirizzo>

 

--mail-rcpt

<indirizzo>

 

--max-filesize

<byte>

 

--max-time

-m

<secondi>

Specificare un numero decimale di secondi.

--no-compressed

 

Per impostazione predefinita viene richiesta una risposta compressa. Utilizzare questa opzione per disattivarli.

--no-keepalive

 

Per impostazione predefinita, i messaggi keepalive sono attivati. Utilizzare questa opzione per disattivarli.

--noproxy

<host[,host]> o *

 

--output

-o

<nome file>

Il nome del file viene utilizzato solo come attributo dei dati Contenitore.

--pass

<phrase>

Passphrase per la chiave privata. Utilizzare questa opzione se è necessario fornire la passphrase della chiave privata separatamente dal file del certificato.

--path-as-is

 

 

--post301

 

 

--post302

 

 

--post303

 

 

--proxy

-x

<[protocollo://][utente:password@]hostproxy[:porta]>

 

--proxy-anyauth

 

 

--proxy-basic

 

 

--proxy-digest

 

 

--proxy-header

<nome: valore>

Utilizzare questa opzione una volta per ogni intestazione specificata.

--proxy-user

-U

<utente:password>

A differenza dello strumento a riga di comando curl, se la password non esiste, i client FileMaker non la richiedono all'utente.

--proxy1.0

<hostproxy[:porta]>

 

--proxytunnel

-p

 

 

--pubkey

<$[$]variabilefm>

Specificare il file di chiave pubblica3 da utilizzare con il protocollo SFTP. Utilizzare --key e --pass per specificare la chiave privata e la passphrase per la chiave privata indipendentemente.

--quote

-Q

<comando>

Utilizzare questa opzione una volta per ogni comando al server FTP.

--range

-r

<intervallo>

 

--raw

 

 

--referer

-e

<URL>

Supporta ;auto alla fine dell'URL se utilizzato con --location.

--request

-X

<comando>

 

--resolve

<host:porta:indirizzo>

Utilizzare questa opzione una volta per ogni resolver specificato.

--show-error

-S

 

Vedere Gestione degli errori.

--socks4

<host[:porta]>

 

--socks4a

<host[:porta]>

 

--socks5

<host[:porta]>

 

--socks5-hostname

<host[:porta]>

 

--speed-limit

-Y

<velocità>

Specificare un numero intero di byte al secondo.

--speed-time

-y

<tempo>

Specificare un numero intero di secondi.

--ssl

 

È supportato anche --ftp-ssl.

--ssl-reqd

 

È supportato anche --ftp-ssl-reqd.

--time-cond

-z

<espressione data>

Supporta solo la specifica di un'espressione di data in stile cURL.

--tr-encoding

 

 

--trace

<$[$]variabilefm>

Vedere la nota 3 alla tabella.

--trace-ascii

<$[$]variabilefm>

Vedere la nota 3 alla tabella.

--trace-time

 

 

--upload-file

-T

<$[$]variabilefm>

Vedere la nota 3 alla tabella. Non supporta il globbing (specifica di nomi dei file corrispondenti a un modello). Per FTP e FTPS, il nome del file dopo il caricamento sul server corrisponde a quello specificato alla fine dell'URL. Per tutti gli altri protocolli supportati, il nome del file corrisponde a quello specificato nei dati Contenitore; qualsiasi nome di file nell'URL viene ignorato.

--use-ascii

-B

 

 

--user

-u

<utente:password>

A differenza dello strumento a riga di comando curl, se la password non esiste, i client FileMaker non la richiedono all'utente.

--user-agent

-A

<stringa agente>

 

--version

-V

 

Mostra informazioni sulla versione della libreria cURL (libcurl). La prima riga mostra la versione completa di libcurl e altre librerie di terzi collegate. La seconda riga (che inizia con "Funzioni:") elenca le funzioni libcurl supportate.

Note alla tabella

  1. Per alcune opzioni, sono supportate la forma estesa e breve del nome dell'opzione (ad esempio, ‑‑data e -d).

  2. Gli elementi opzionali dei parametri sono tra parentesi [ ].

  3. L'acesso diretto al file viene sostituito con una variabile FileMaker.

  4. L'accesso diretto al file viene sostituito con una variabile FileMaker preceduta dal carattere @.

Utilizzo di variabili

Sebbene nessuna delle opzioni supportate permetta di accedere o creare direttamente file nel file system, è possibile specificare una variabile FileMaker come origine o destinazione dei dati per l'opzione. Per accedere o creare un file, è possibile impostare la variabile su un campo Contenitore.

Per accedere a un file, è possibile impostare la variabile su un campo Contenitore che contiene il file, quindi utilizzare la variabile come parametro dell'opzione cURL.

Per creare un file, è possibile utilizzare una variabile come parametro dell'opzione cURL, impostare un campo Contenitore sulla variabile, quindi esportare il campo Contenitore come file.

Gestione degli errori

Le opzioni cURL non supportate vengono ignorate.

Se si utilizza l'opzione --show-error:

  • Se gli errori restituiti dalla libreria cURL provocano la restituzione da parte dei client FileMaker del codice di errore 1631 attraverso la funzione Get ( UltimoErrore ) per indicare un errore di connessione non specificato, la funzione Get ( DettagliUltimoErrore ) restituisce lo stesso testo dello strumento a riga di comando curl.

  • Se un'operazione viene eseguita, ma il server restituisce un codice di risposta 400 o superiore con i dati, i client FileMaker restituiscono un codice di errore appropriato. Se non esiste un codice di errore FileMaker appropriato, Get ( UltimoErrore ) restituisce 1631 e Get ( DettagliUltimoErrore ) restituisce il codice di risposta nel formato "Codice di risposta: nnn."

Se non si utilizza l'opzione --show-error, un codice di risposta 401 dal server provoca la restituzione da parte di Get ( UltimoErrore ) del codice di errore FileMaker 1627 ("Autenticazione non riuscita"). Tutti gli altri codici di risposta restituiscono il codice di errore FileMaker 0 ("Nessun errore").

Esempio

Invia dati HTTPS POST come due coppie chiave-valore, nome=Bob e cognome=Smith, a esempio.com utilizzando le credenziali mionomeutente e miapassword e memorizza i dati richiesti nella variabile $$risultati.

Nell'istruzione di script Inserisci da URL:

  • Impostare Destinazione sulla variabile $$risultati.

  • Impostare SpecificaURL su https://esempio.com/.

  • Impostare Specifica opzioni cURL su una delle seguenti serie di opzioni:

    "--user mionomeutente:miapassword --data nome=Bob&cognome=Smith"
    "--user mionomeutente:miapassword -d nome=Bob --data-ascii cognome=Smith"
    "--user mionomeutente:miapassword -d @$dati_post"

    dove la variabile $dati_post è impostata su coppie chiave-valore come testo o su un campo Contenitore il cui contenuto è un file di testo che contiene coppie chiave-valore.

Questo script mostra l'esempio riportato sopra inviando coppie chiave-valore da un file nel campo Contenitore dati_post.

Copia
Imposta variabile [$dati_post; tabella::dati_post]
Inserisci da URL [Con finestra di dialogo: Disattivata; Destinazione: $$risultati ; 
"https://esempio.com/uploads"; Verifica certificati SSL ; 
opzioni cURL: "--user mionomeutente:miapassword -d @$dati_post" ]