cURL-alternativ som stöds

cURL (Client for URLs) är ett öppet standardbibliotek med programfunktioner som gör att Scriptsteget Infoga från URL har stöd för många vanliga alternativ för filöverföring. I detta scriptsteg använder du Ange cURL-tillval för att skapa en beräkning som inkluderar ett eller fler av följande cURL-alternativ.

Obs!  I cURL-alternativ ska varje citattecken föregås av ett omvänt snedstreck. För att ange en HTTP-header för Content-type: application/json, är exempelvis textuttrycket för Ange cURL-tillval:

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

Bara de alternativ som listas nedan stöds av FileMaker-klienter. Mer information inns i dokumentationen för cURL.

Tillval1 Parameter2 Kommentar

--anyauth

 

 

--aws-sigv4

<leverantör1[:leverantör2[:region[:tjänst]]]>

Om du vill skicka Amazon Web Services (AWS) V4 signaturautentisering i HTTPS-huvuden anger du en sträng för leverantör och, eventuellt, region och tjänst. Använd också --user för att ange access_key_id:secret_access_key.

I skript på serversidan stöds inte det här alternativet av FileMaker Server på Ubuntu 20.

--basic

 

 

--cert

-E

<$[$]fmvariabel[:lösenord]>

Ange klientcertifikatsfilen3 att använda med HTTPS, FTPS eller andra SSL-baserade protokoll. Lägg till :[lösenord] för att ange en lösenfras för klientcertifikatet.

Det här tillvalet kräver en certifikatfil med den privata nyckeln och klientcertifikatet sammanskrivet. Använd --key och --pass för att ange dem var för sig.

--cert-type

<typ>

Ange typen av klientcertifikat. PEM, DER och P12 är de typer som stöds. Om inget anges används PEM.

--ciphers

<lista med chiffer>

 

--connect-timeout

<sekunder>

Ange antal sekunder med decimaler.

--continue-at

-C

<offset>

Det går inte att använda "-" för aktuell filstorlek. Data lägger inte till utan ersätter binära mål.

--cookie

-b

<namn=data[;n2=d2]> eller <$[$]fmvariabel>

Se tabellanmärkning 3.

--cookie-jar

-c

<$[$]fmvariabel>

Direkt filåtkomst och "-" ersätts med en FileMaker-variabel.

--crlf

 

 

--data

-d

<data> eller @<$[$]fmvariabel>

Se tabellanmärkning 4.

--data-ascii

<data> eller @<$[$]fmvariabel>

Se tabellanmärkning 4.

--data-binary

<data> eller @<$[$]fmvariabel>

Se tabellanmärkning 4.

--data-raw

<data>

 

--data-urlencode

<data> eller =<data> eller @<$[$]fmvariabel> eller <namn>=<data> eller <namn>@<$[$]fmvariabel>

Se tabellanmärkning 4.

--digest

 

 

--disable-eprt

 

 

--disable-epsv

 

 

--dump-header

-D

<$[$]fmvariabel>

Se tabellanmärkning 3.

--expect100-timeout

<sekunder>

Ange antal sekunder med decimaler.

--fail

-f

 

 

--FM-return-container-variable

 

När Infoga från URL har en variabel som mål använder du det här alternativet för att returnerat data ska sparas som containerdata.

--FM-text-encoding

<kodning>

Konverterar texten i de alternativ som följer direkt efter detta alternativ från FileMakers interna teckenkodning till den angivna kodningen. Använd ett av namnen som definierats för parametern encoding för Funktionen TextEncode.

--form

-F

<namn=innehåll> eller <namn=@$[$]fmvariabel>

Se tabellanmärkning 4.

--form-string

<namn=innehåll>

 

--ftp-alternative-to-user

<kommando>

 

--ftp-create-dirs

 

 

--ftp-method

multicwd, nocwd eller singlecwd

Ange en av dessa metoder.

--ftp-pasv

 

 

--ftp-port

-P

<gränssnitt> eller <IP-adress> eller <värdnamn> eller -

Lägg till :[start]-[slut] för att ange ett portintervall.

--ftp-pret

 

 

--ftp-skip-pasv-ip

 

 

--ftp-ssl-ccc

 

Ställer även in --ftp-ssl-ccc-mode till passive, om det inte redan är inställt.

--ftp-ssl-ccc-mode

active eller passive

Ange ett av dessa lägen.

--ftp-ssl-control

 

 

--head

-I

 

 

--header

-H

<namn: värde>

Ange detta alternativ en gång för varje header du anger.

--ignore-content-length

 

 

--interface

<namn>

 

--ipv4

-4

 

 

--ipv6

-6

 

 

--junk-session-cookies

-j

 

 

--keepalive-time

<sekunder>

Ange antal sekunder med heltal.

--key-type

<typ>

Ange typen av fil för privat nyckel. DER och PEM är de typer som stöds. Om inget anges används PEM.

--key

<$[$]fmvariabel>

Ange filen för privat nyckel3. Använd det här tillvalet som du behöver ange den privata nyckeln separat från certifikatfilen.

--limit-rate

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

Ange ett heltal följt av en valfri enhet.

--list-only

-l

 

 

--local-port

<num>[-num]

Ange en port eller ett portintervall.

--location

-L

 

 

--location-trusted

 

 

--mail-auth

<adress>

 

--mail-from

<adress>

 

--mail-rcpt

<adress>

 

--max-filesize

<byte>

 

--max-time

-m

<sekunder>

Ange antal sekunder med decimaler.

--no-compressed

 

Som standard begärs ett komprimerat svar. Använd detta alternativ för att inaktivera dem.

--no-keepalive

 

Som standard är keepalive-meddelanden aktiverade. Använd detta alternativ för att inaktivera dem.

--noproxy

<värd[,värd]> eller *

 

--output

-o

<filnamn>

Filnamnet används bara som ett attribut för containerdata.

--pass

<fras>

Lösenfras för den privata nyckeln. Använd det här tillvalet som du behöver ange den privata nyckelns lösenfras separat från certifikatfilen.

--path-as-is

 

 

--post301

 

 

--post302

 

 

--post303

 

 

--proxy

-x

<[protokoll://][användare:lösenord@]proxyvärd[:port]>

 

--proxy-anyauth

 

 

--proxy-basic

 

 

--proxy-digest

 

 

--proxy-header

<namn: värde>

Ange detta alternativ en gång för varje header du anger.

--proxy-user

-U

<användare:lösenord>

Till skillnad från kommandoradverktyget curl så frågar FileMaker-klienter inte om lösenord om det inte finns.

--proxy1.0

<proxyvärd[:port]>

 

--proxytunnel

-p

 

 

--pubkey

<$[$]fmvariabel>

Ange den fil med publik nyckel3 som ska användas med SFTP-protokoll. Använd --key och --pass för att oberoende ange den privata nyckeln och lösenfrasen för den privata nyckeln.

--quote

-Q

<kommando>

Använd detta kommando en gång för varje kommando till FTP-servern.

--range

-r

<intervall>

 

--raw

 

 

--referer

-e

<URL>

Har stöd för ;auto i slutet av URL vid användning med --location.

--request

-X

<kommando>

 

--resolve

<värd:port:adress>

Ange detta alternativ en gång för varje matchare du anger.

--show-error

-S

 

Mer information finns i Hantera fel.

--socks4

<värd[:port]>

 

--socks4a

<värd[:port]>

 

--socks5

<värd[:port]>

 

--socks5-hostname

<värd[:port]>

 

--speed-limit

-Y

<hastighet>

Ange antal byte per sekund med heltal.

--speed-time

-y

<tid>

Ange antal sekunder med heltal.

--ssl

 

--ftp-ssl stöds också.

--ssl-reqd

 

--ftp-ssl-reqd stöds också.

--time-cond

-z

<datumuttryck>

Har bara stöd för datumuttryck i cURL-format.

--tr-encoding

 

 

--trace

<$[$]fmvariabel>

Se tabellanmärkning 3.

--trace-ascii

<$[$]fmvariabel>

Se tabellanmärkning 3.

--trace-time

 

 

--upload-file

-T

<$[$]fmvariabel>

Se tabellanmärkning 3. Har inte stöd för jokertecken (filnamn som matchar ett mönster). För FTP och FTPS är filnamnet efter överföring samma som det som angavs i slutet på URL-adressen. För alla andra protokoll som stöds är filnamnet samma som det som anges i containerdata; filnamn i URL-adressen ignoreras.

--use-ascii

-B

 

 

--user

-u

<användare:lösenord>

Till skillnad från kommandoradverktyget curl så frågar FileMaker-klienter inte om lösenord om det inte finns.

--user-agent

-A

<agent-sträng>

 

--version

-V

 

Visar information om cURL-bibliotekets version (libcurl). Den första raden visar den fullständiga versionen av libcurl och andra länkade tredjepartsbibliotek. Den andra raden (som börjar med "Features:") listar de libcurl-funktioner som stöds.

Tabellanmärkningar

  1. För vissa alternativ stöds både långa och korta versioner av alternativets namn (exempelvis ‑‑data och -d).

  2. Valfria delar av parametrar visas inom [ ].

  3. Direkt filåtkomst ersätts med en FileMaker-variabel.

  4. Direkt filåtkomst ersätts med en FileMaker-variabel med prefixet @.

Använda variabler

Även om inga av de alternativ som stöds tillåter direkt åtkomst till filer eller att skapa filer i filsystemet, kan du ange en FileMaker-variabel som källa eller destination för de data som alternativet kräver. För att komma åt eller skapa en fil kan du ställa in variabeln till ett containerfält.

För att komma åt en fil kan du ställa in variabeln till ett containerfält, som innehåller filen, och sedan använda variabeln som parameter för cURL-alternativet.

För att skapa en fil kan du använda en variabel som parameter för cURL-alternativet, ställa in ett containerfält till den variabeln och sedan exportera containerfältet som en fil.

Hantera fel

cURL-alternativ som inte stöds ignoreras.

Om du använder alternativet --show-error:

  • När fel som returneras av cURL-biblioteket får FileMaker-klienter att returnera felkod 1631 via Funktionen Get ( SenasteFel ) för att ange ett ospecificerat anslutningsfel, returnerar Funktionen Get ( SenasteFelDetalj ) samma text som kommandoradverktyget curl.

  • När en åtgärd lyckas men servern returnerar en svarskod på 400 eller högre tillsammans med informationen, returnerar FileMaker-klienter lämplig felkod. Om det inte finns någon lämplig FileMaker-felkod, returnerar Get ( SenasteFel ) 1631 och Get ( SenasteFelDetalj ) svarskoden i formatet "Svarskod: nnn".

Om du inte använder alternativet --show-error, gör serversvarskod 401 att Get ( SenasteFel ) returnerar FileMaker-felkoden 1627 ("Autentisering misslyckades"). Alla andra svarskoder returnerar FileMaker-felkod 0 ("Inget fel").

Exempel

Skickar HTTPS POST-data som två nyckel/värde-par, fname=Bob och lname=Smith, till exempel.com med identifieringsuppgifterna mittanvändarnamn och mittlösenord och lagrar begärda data i $$results-variabeln.

I scriptsteget Infoga från URL:

  • Ställ in Mål till variabeln $$results.

  • Ställ in Ange URL till https://exempel.com/.

  • Ställ in Ange cURL-tillval till en av följande likvärdiga uppsättningar av alternativ:

    "--user mittanvändarnamn:mittlösenord --data fname=Bob&lname=Smith"
    "--user mittanvändarnamn:mittlösenord -d fname=Bob --data-ascii lname=Smith"
    "--user mittanvändarnamn:mittlösenord -d @$post_data"

    där variabeln $post_data är inställt på nyckel/värde-par som text eller inställt på ett containerfält vars innehåll är en textfil som innehåller nyckel/värde-par.

Scriptet visar ovanstående exempel som skickar nyckel/värde-par från en fil i containerfältet post_data.

Kopiera
Ange variabel [ $post_data ; tabell::post_data ]
Infoga från URL [ Med dialogruta: Av ; Mål: $$resultat ; 
"https://exempel.com/" ; Verifiera SSL-certifikat ; 
cURL-tillval: "--user mittanvändarnamn:mittlösenord -d @$post_data" ]