#compdef curl # curl zsh completion local curcontext="$curcontext" state state_descr line typeset -A opt_args local rc=1 _arguments -C -S \ {-X,--request}'[Specify request method to use]':'':'(DELETE GET HEAD POST PUT)' \ {-c,--cookie-jar}'[Save cookies to after operation]':'':_files \ {-D,--dump-header}'[Write the received headers to ]':'':_files \ {-y,--speed-time}'[Trigger '\''speed-limit'\'' abort after this time]':'' \ --abstract-unix-socket'[Connect via abstract Unix domain socket]':'':_files \ {-E,--cert}'[Client certificate file and password]':'' \ --proxy-capath'[CA directory to verify proxy against]':'':'_path_files -/' \ --proxy-pinnedpubkey'[FILE/HASHES public key to verify proxy with]':'' \ --resolve'[Resolve host+port to address]':'<[+]host\:port\:addr[,addr]...>' \ --aws-sigv4'[AWS V4 signature auth]':'' \ {-b,--cookie}'[Send cookies from string/load from file]':'' \ --pinnedpubkey'[FILE/HASHES Public key to verify peer against]':'' \ --proxy-pass'[Pass phrase for the private key for HTTPS proxy]':'' \ --proxy-ssl-allow-beast'[Allow security flaw for interop for HTTPS proxy]' \ --socks5-hostname'[SOCKS5 proxy, pass hostname to proxy]':'' \ --ftp-method'[Control CWD usage]':'':'(multicwd nocwd singlecwd)' \ --proto-default'[Use PROTOCOL for any URL missing a scheme]':'' \ --proxy-cacert'[CA certificates to verify proxy against]':'':_files \ --proxy-tls13-ciphers'[TLS 1.3 proxy cipher suites]':'' \ --socks5-gssapi-service'[SOCKS5 proxy service name for GSS-API]':'' \ --capath'[CA directory to verify peer against]':'':'_path_files -/' \ --ftp-alternative-to-user'[String to replace USER \[name\]]':'' \ --libcurl'[Generate libcurl code for this command line]':'':_files \ --unix-socket'[Connect through this Unix domain socket]':'':_files \ {-T,--upload-file}'[Transfer local FILE to destination]':'':_files \ --hostpubsha256'[Acceptable SHA256 hash of host public key]':'' \ --proxy-tlsauthtype'[TLS authentication type for HTTPS proxy]':'' \ --request-target'[Specify the target for this request]':'':_files \ --parallel-immediate'[Do not wait for multiplexing (with --parallel)]' \ --etag-save'[Parse incoming ETag and save to a file]':'':_files \ --proxy-cert-type'[Client certificate type for HTTPS proxy]':'' \ {-Q,--quote}'[Send command(s) to server before transfer]':'' \ --sasl-authzid'[Identity for SASL PLAIN authentication]':'' \ --suppress-connect-headers'[Suppress proxy CONNECT response headers]' \ --trace-ascii'[Like --trace, but without hex output]':'':_files \ --alt-svc'[Enable alt-svc with this cache file]':'':_files \ --expect100-timeout'[How long to wait for 100-continue]':'' \ {-j,--junk-session-cookies}'[Ignore session cookies read from file]' \ --parallel-max'[Maximum concurrency for parallel transfers]':'' \ --dns-ipv4-addr'[IPv4 address to use for DNS requests]':'
' \ --dns-ipv6-addr'[IPv6 address to use for DNS requests]':'
' \ --location-trusted'[Like --location, but send auth to other hosts]' \ --mail-auth'[Originator address of the original email]':'
' \ --noproxy'[List of hosts which do not use proxy]':'' \ --output-dir'[Directory to save files in]':'':'_path_files -/' \ --proto-redir'[Enable/disable PROTOCOLS on redirect]':'' \ --proxy-cert'[Set client certificate for proxy]':'' \ --trace-config'[Details to log in trace/verbose output]':'' \ --dns-interface'[Interface to use for DNS requests]':'' \ --keepalive-time'[Interval time for keepalive probes]':'' \ --preproxy'[\[protocol\://\]host\[\:port\] Use this proxy first]' \ --random-file'[File for reading random data from]':'':_files \ --cacert'[CA certificate to verify peer against]':'':_files \ {-H,--header}'[Pass custom header(s) to server]':'
' \ --ignore-content-length'[Ignore the size of the remote resource]' \ --proxy-header'[Pass custom header(s) to proxy]':'
' \ --proxy-ssl-auto-client-cert'[Auto client certificate for proxy]' \ --retry-connrefused'[Retry on connection refused (with --retry)]' \ --connect-timeout'[Maximum time allowed to connect]':'' \ --curves'[(EC) TLS key exchange algorithms to request]':'' \ {-m,--max-time}'[Maximum time allowed for transfer]':'' \ {-o,--output}'[Write to file instead of stdout]':'':_files \ --proxy-negotiate'[HTTP Negotiate (SPNEGO) auth with the proxy]' \ --rate'[Request rate for serial transfers]':'' \ --socks4a'[SOCKS4a proxy on given host + port]':'' \ --ssl-auto-client-cert'[Use auto client certificate (Schannel)]' \ --happy-eyeballs-timeout-ms'[Time for IPv6 before IPv4]':'' \ {-U,--proxy-user}'[Proxy user and password]':'' \ --proxy1.0'[Use HTTP/1.0 proxy on given port]':'' \ {-O,--remote-name}'[Write output to file named as remote file]' \ {-R,--remote-time}'[Set remote file'\''s time on local output]' \ {-Y,--speed-limit}'[Stop transfers slower than this]':'' \ --ssl-revoke-best-effort'[Ignore missing cert CRL dist points]' \ {-z,--time-cond}'[Transfer based on a time condition]':'