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 |
|
|
|
|
|
|
|
|
Specificare il file3 del certificato client da utilizzare con HTTPS, FTPS o un altro protocollo basato su SSL. Aggiungere in coda Questa opzione presuppone che il file del certificato abbia concatenati ad esso una chiave privata e il certificato del client.
Usare |
|
|
Specificare il tipo del certificato client. |
|
|
|
|
|
Specificare un numero decimale di secondi. |
|
|
L'utilizzo di "-" per le dimensioni del file corrente non è supportato. I dati sostituiscono, non si aggiungono ai target binari. |
|
|
Vedere la nota 3 alla tabella. |
|
|
L'accesso diretto al file e "-" vengono sostituiti con una variabile FileMaker. |
|
|
|
|
|
Vedere la nota 4 alla tabella. |
|
|
Vedere la nota 4 alla tabella. |
|
|
Vedere la nota 4 alla tabella. |
|
|
|
|
|
Vedere la nota 4 alla tabella. |
|
|
|
|
|
|
|
|
|
|
|
Vedere la nota 3 alla tabella. |
|
|
Specificare un numero decimale di secondi. |
|
|
|
|
|
Quando l'istruzione Inserisci da URL ha come destinazione una variabile, utilizzare questa opzione per forzare la memorizzazione come dati Contenitore dei dati restituiti. |
|
|
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 |
|
|
Vedere la nota 4 alla tabella. |
|
|
|
|
|
|
|
|
|
|
|
Specificare uno di questi metodi. |
|
|
|
|
|
Aggiungere |
|
|
|
|
|
|
|
|
Imposta anche |
|
|
Specificare uno di questi modi. |
|
|
|
|
|
|
|
|
Utilizzare questa opzione una volta per ogni intestazione specificata. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specificare un numero intero di secondi. |
|
|
Specificare il tipo di file con chiave privata. |
|
|
Specificare il file con chiave privata3. Utilizzare questa opzione se è necessario fornire la chiave privata separatamente dal file del certificato. |
|
|
Specificare un numero intero seguito da un'unità opzionale. |
|
|
|
|
|
Specificare una porta o una serie di porte. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specificare un numero decimale di secondi. |
|
|
Per impostazione predefinita viene richiesta una risposta compressa. Utilizzare questa opzione per disattivarli. |
|
|
Per impostazione predefinita, i messaggi keepalive sono attivati. Utilizzare questa opzione per disattivarli. |
|
|
|
|
|
Il nome del file viene utilizzato solo come attributo dei dati Contenitore. |
|
|
Passphrase per la chiave privata. Utilizzare questa opzione se è necessario fornire la passphrase della chiave privata separatamente dal file del certificato. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Utilizzare questa opzione una volta per ogni intestazione specificata. |
|
|
A differenza dello strumento a riga di comando curl, se la password non esiste, i client FileMaker non la richiedono all'utente. |
|
|
|
|
|
|
|
|
Utilizzare questa opzione una volta per ogni comando al server FTP. |
|
|
|
|
|
|
|
|
Supporta |
|
|
|
|
|
Utilizzare questa opzione una volta per ogni resolver specificato. |
|
|
Vedere Gestione degli errori. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specificare un numero intero di byte al secondo. |
|
|
Specificare un numero intero di secondi. |
|
|
È supportato anche |
|
|
È supportato anche |
|
|
Supporta solo la specifica di un'espressione di data in stile cURL. |
|
|
|
|
|
Vedere la nota 3 alla tabella. |
|
|
Vedere la nota 3 alla tabella. |
|
|
|
|
|
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. |
|
|
|
|
|
A differenza dello strumento a riga di comando curl, se la password non esiste, i client FileMaker non la richiedono all'utente. |
|
|
|
|
|
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
-
Per alcune opzioni, sono supportate la forma estesa e breve del nome dell'opzione (ad esempio,
‑‑data
e-d
). -
L'acesso diretto al file viene sostituito con una variabile FileMaker.
-
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
.
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"]