Open2
目的別curlコマンドメモ
ピン留めされたアイテム
環境情報
- macOS Monterey バージョン 12.3.1
- curl バージョン 7.79.1
curl --version
curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.5 zlib/1.2.11 nghttp2/1.45.1
Release-Date: 2021-09-22
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets
全てのオプションを見る
curl -h all
使用法:curl [オプション...] <url>
--abstract-unix-socket <path> 抽象的なUnixドメインソケットで接続します。
--alt-svc <ファイル名> このキャッシュファイルを使ってalt-svcを有効にします。
--anyauth 任意の認証方式を選ぶ
-a, --append アップロード時に対象ファイルに追加する。
--aws-sigv4 <provider1[:provider2[:region[:service]]> AWS V4署名認証を利用する。
--basic HTTP基本認証を使用します。
--cacert <file> 相手を確認するためのCA証明書
--capath <dir> ピアを検証するための CA ディレクトリ
-E, --cert <certificate[:password]> クライアント証明書ファイルおよびパスワード。
--cert-status OCSP-staple 経由でサーバ証明書の状態を確認する。
--cert-type <type> 証明書タイプ (DER/PEM/ENG)
--ciphers <暗号のリスト> 使用するSSL暗号化方式
--compressed レスポンスを圧縮してリクエストする
--compressed-ssh SSH の圧縮を有効にします。
-K, --config <file> ファイルから設定を読み込む
--connect-timeout <fractional秒> 接続に許可される最大時間
--connect-to <HOST1:PORT1:HOST2:PORT2> ホストに接続する。
-C, --continue-at <offset> 転送オフセットを再開する。
-b, --cookie <data|filename> クッキーを文字列/ファイルから送信する。
-c, --cookie-jar <filename> 操作後、<filename> にクッキーを書き込む。
--create-dirs 必要なローカルディレクトリの階層を作成する。
--create-file-mode <mode> 作成するファイルのモード(8進数)
--crlf アップロード時にLFをCRLFに変換する。
--crlfile <file> このCRLリストを使用する。
--curves <algorithm list> (EC) 依頼するTLS鍵交換アルゴリズム。
-d, --data <data> HTTP POSTデータ
--data-ascii <data> HTTP POSTのASCIIデータ
--data-binary <data> HTTP POST バイナリデータ
--data-raw <data> HTTP POSTデータ、'@'は許可されます。
--data-urlencode <data> HTTP POSTデータのURLをエンコードしたもの。
--delegation <LEVEL> GSS-API のデリゲーション権限
--digest HTTPダイジェスト認証を利用する
-q, --disable .curlrc を無効にする。
--disable-eprt EPRTやLPRTの利用を禁止する。
--disable-epsv EPSVの利用を禁止する。
--disallow-username-in-url ユーザー名をURLに含めることを禁止する。
--dns-interface <インターフェイス> DNSリクエストに使用するインターフェイス
--dns-ipv4-addr <address> DNSリクエストに使用するIPv4アドレス
--dns-ipv6-addr <address> DNSリクエストに使用するIPv6アドレス
--dns-servers <アドレス> 使用するDNSサーバーのアドレス
--doh-cert-status OCSP-stapleでDoHサーバ証明書のステータスを確認する。
--doh-insecure 安全でないDoHサーバーの接続を許可する。
--doh-url <URL> DoHでホスト名を解決する。
-D, --dump-header <filename> 受信したヘッダを<filename>に書き出す。
--egd-file <file> ランダムデータ用EGDソケットパス
--engine <名前> 使用する暗号エンジン
--etag-compare <file> ファイルからETagをカスタムヘッダとして渡す。
--etag-save <file> リクエストからETagを解析し、ファイルに保存する。
--expect100-timeout <seconds> 100-continueまで待つ時間
-f, --fail HTTPエラーのとき、黙って失敗する(全く出力しない)。
-fail-early 最初の転送エラーで失敗、続行しない。
--fail-with-body HTTPエラーの際に失敗するが、ボディは保存される
--false-start TLSフォルススタートを有効にします。
-F, --form <name=content> マルチパートのMIMEデータを指定する。
--form-string <name=string> マルチパートのMIMEデータを指定する。
--ftp-account <data> アカウントデータ文字列
--ftp-alternative-to-user <command> USER [name]を置き換える文字列。
--ftp-create-dirs リモートディレクトリが存在しない場合、それを作成する。
--ftp-method <method> CWD の使用法を制御する。
--ftp-pasv PORT の代わりに PASV/EPSV を使用する。
-P, --ftp-port <address> PASV の代わりに PORT を使用。
--ftp-pret PASV の前に PRET を送信する。
--ftp-skip-pasv-ip PASV 用の IP アドレスをスキップする。
--ftp-ssl-ccc 認証後に CCC を送信する。
--ftp-ssl-ccc-mode <active/passive> CCC モードを設定します。
--ftp-ssl-control FTP ログインに SSL/TLS を要求、転送にはクリアを要求。
-G, --get URLに投稿データを入れてGETで利用する
-g, --globoff URLの連続や範囲を{}や[]で囲むのを無効にする
--happy-eyeballs-timeout-ms <ミリ秒> IPv4を試す前にIPv6を試せる時間
--haproxy-protocol HAProxyのPROXYプロトコルv1ヘッダを送信する。
-I, --head ドキュメント情報のみを表示する
-H, --header <header/@file> サーバーにカスタムヘッダを渡す
-h, --help <category> コマンドのヘルプを表示する。
--hostpubmd5 <md5> ホスト公開鍵のMD5ハッシュを渡す。
--hsts <ファイル名> このキャッシュファイルを使ってHSTSを有効にします。
--http0.9 HTTP 0.9の応答を許可する。
-0, --http1.0 HTTP 1.0を使用します。
--http1.1 HTTP 1.1 を使用します。
--http2 HTTP 2 を使用します。
HTTP/1.1 のアップグレードを行わずに HTTP 2 を使用する --http2-prior-knowledge HTTP/1.1 のアップグレードを行わずに HTTP 2 を使用する
--http3 HTTP v3 を使用します。
--ignore-content-length リモートリソースのサイズを無視する。
-i, --include プロトコルのレスポンスヘッダを出力に含める
-k, --insecure SSL使用時に安全でないサーバ接続を許可する
--interface <名前> ネットワーク INTERFACE (またはアドレス) を使用する
-4, --ipv4 名前を IPv4 アドレスに解決します。
-6, --ipv6 名前をIPv6アドレスに解決する
-j, --junk-session-cookies ファイルから読み込んだセッションクッキーを無視します。
--keepalive-time <seconds> キープアライブプローブのインターバル時間
--key <key> 秘密鍵のファイル名
--key-type <type> 秘密鍵のファイルタイプ (DER/PEM/ENG)
--krb <level> セキュリティ<level>でKerberosを有効にする。
--libcurl <file> このコマンドラインと同等のlibcurlのコードをダンプします。
--limit-rate <speed> 転送速度をRATEに制限する。
-l, --list-only リストのみ表示するモード
--local-port <num/range> ローカルポート番号にRANGEを使用するよう強制する。
-L, --location リダイレクトを追跡する
--location-trusted -locationと同様に、他のホストに認証情報を送信する
--login-options <options> サーバ・ログイン・オプション
--mail-auth <address> オリジナルのメールの送信者アドレス
--mail-from <address> このアドレスから送信されたメール
--mail-rcpt <address> このアドレス宛のメール
-mail-rcpt-allowfails RCPT TOコマンドを一部の受信者に失敗することを許可する。
-M, --manual 完全なマニュアルを表示する
--max-filesize <bytes> ダウンロードするファイルの最大サイズ
--max-redirs <num> リダイレクトの最大許容数
-m, --max-time <fractional seconds> 転送に許可される最大時間
--metalink 与えられたURLをメタリンクXMLファイルとして処理する
--negotiate HTTP Negotiate (SPNEGO) 認証を利用する。
-n, --netrc ユーザ名とパスワードのために .netrc を読み込む必要があります。
--netrc-file <ファイル名> netrc用のFILEを指定する。
--netrc-optional .netrc または URL のどちらかを使用します。
-:, --next 次のURLで別のオプションを使用するようにします。
--no-alpn ALPN TLS 拡張を無効にします。
-N, --no-buffer 出力ストリームのバッファリングを無効にします。
--no-keepalive 接続の TCP キープアライブを無効にします。
NPN TLS拡張を無効にする --no-npn
--no-progress-meter プログレスメーターを表示しない
--no-sessionid SSLセッションIDの再利用を無効にする
--noproxy <no-proxy-list> プロキシを使用しないホストのリスト
--ntlm HTTP NTLM 認証を利用する
--ntlm-wb winbindを用いたHTTP NTLM認証を利用する。
--oauth2-bearer <token> OAuth 2ベアラートークン
-o, --output <file> 標準出力ではなく、ファイルに書き出す。
--output-dir <dir> ファイルを保存するディレクトリ
-Z, --parallel 並列に転送を行う
--parallel-immediate 多重化を待たない(--parallelと同時)。
--parallel-max <num> 並列転送の最大並列数
--pass <phrase> 秘密鍵のパスフレーズ
--path-as-is URLパスの...シーケンスを潰さない
--pinnedpubkey <hashes> FILE/HASHES ピア検証用公開鍵
--post301 301の後にGETに切り替えないでください。
--post302 302の後にGETに切り替えない。
--post303 303に従った後にGETに切り替えない。
--preproxy [protocol://]host[:port] 最初にこのプロキシを使う。
-#, --progress-bar 転送の進捗をバーで表示する
--proto <プロトコル> プロトコルの有効化・無効化
--proto-default <protocol> プロトコルのスキームがないURLにプロトコルを使用する。
--proto-redir <protocols> リダイレクト時にPROTOCOLSを有効/無効にする。
-x, --proxy [protocol://]host[:port] このプロキシを使用する。
--proxy-anyauth 任意のプロキシ認証方式を選ぶ。
--proxy-basic プロキシで基本認証を使用する。
--proxy-cacert <file> プロキシで相手を確認するためのCA証明書
--proxy-capath <dir> プロキシでピアを検証するためのCAディレクトリです。
--proxy-cert <cert[:passwd]> プロキシにクライアント証明書を設定する。
--proxy-cert-type <type> HTTPSプロキシのクライアント証明書の種類を指定します。
--proxy-ciphers <list> プロキシに使用するSSL暗号を設定する。
--proxy-crlfile <file> プロキシにCRLリストを設定する.
--proxy-digest プロキシでダイジェスト認証を使用する.
--proxy-header <header/@file> プロキシにカスタムヘッダを渡す。
--proxy-insecure プロキシを検証せずに HTTPS プロキシ接続を行う
--proxy-key <key> HTTPS プロキシ用の秘密鍵
--proxy-key-type <type> プロキシに使う秘密鍵のファイルタイプ
--proxy-negotiate プロキシで HTTP Negotiate (SPNEGO) 認証を利用する。
--proxy-ntlm プロキシで NTLM 認証を利用する。
--proxy-pass <phrase> HTTPS プロキシで用いる秘密鍵のパスフレーズです。
--proxy-pinnedpubkey <hashes> プロキシを検証するための公開鍵をFILE/HASHESで保存します。
--proxy-service-name <名前> SPNEGOプロキシサービス名
--proxy-ssl-allow-beast HTTPSプロキシの相互運用のためにセキュリティ上の欠陥を許容する。
--proxy-ssl-auto-client-cert プロキシ(Schannel)に自動クライアント証明書を使用します。
--proxy-tls13-ciphers <ciphersuite list> TLS 1.3プロキシのサイファースイート
--proxy-tlsauthtype <type> HTTPS プロキシの TLS 認証タイプ
--proxy-tlspassword <string> HTTPS プロキシ用 TLS パスワード
--proxy-tlsuser <name> HTTPS プロキシの TLS ユーザー名.
--proxy-tlsv1 HTTPS プロキシに TLSv1 を使用する.
-U, --proxy-user <ユーザ名:パスワード> プロキシユーザとパスワード
--proxy1.0 <ホスト[:ポート]> 指定されたポートで HTTP/1.0 プロキシを使用します。
-p, --proxytunnel HTTP プロキシトンネルを経由して動作します (CONNECT を使用します)
--pubkey <key> SSH公開鍵ファイル名
-Q, --quote <command> 転送前にサーバにコマンドを送信する。
--random-file <file> ランダムデータ読み込み用ファイル
-r, --range <range> 範囲内のバイトだけを取得する。
--raw HTTPの "raw "を行う; 転送のデコードを行わない
-e, --referer <URL> 参照元のURL
-J, --remote-header-name ヘッダーで指定されたファイル名を使用します。
-O, --remote-name リモートファイルとして指定されたファイルに出力を書き込む
--remote-name-all すべてのURLに対して、リモートファイル名を使用します。
-R, --remote-time ローカル出力にリモートファイルの時刻を設定する
-X, --request <command> 使用するリクエスト・コマンドを指定する。
--request-target <path> リクエストの対象を指定する。
--resolve <[+]host:port:addr[,addr]...> host+portをこのアドレスに解決する。
--retry <num> 一過性の問題が発生した場合、リクエストを再試行する。
--retry-all-errors すべてのエラーを再試行する (--retry と一緒に使う)
--retry-connrefused 接続が拒否されたときに再試行する (--retry と一緒に使う)
--retry-delay <seconds> 再試行間の待ち時間
--retry-max-time <seconds> この時間内に再試行する。
--sasl-authzid <identity> SASL PLAIN認証のためのID。
--sasl-ir SASL認証で初期応答を有効にする
--service-name <name> SPNEGOサービス名
-S, --show-error -sを使った場合でもエラーを表示する。
-s, --silent サイレント・モード
--socks4 <ホスト[:ポート]> 指定されたホストとポートでSOCKS4プロキシを動作させる
--socks4a <ホスト[:ポート]> 指定されたホスト + ポートの SOCKS4a プロキシ
--socks5 <ホスト[:ポート]> 指定されたホストとポート上のSOCKS5プロキシ
--socks5-basic SOCKS5 プロキシでユーザ名/パスワードによる認証を有効にします。
--socks5-gssapi SOCKS5 プロキシで GSS-API 認証を有効にします。
--socks5-gssapi-nec NEC SOCKS5 サーバーとの互換性
--socks5-gssapi-service <名前> GSS-API 用 SOCKS5 プロキシサービス名
--socks5-hostname <host[:port]> SOCKS5 プロキシ、プロキシにホスト名を渡す。
-Y, --speed-limit <speed> これより遅い転送を停止する。
-y, --speed-time <seconds> この時間が経過したら、'speed-limit' abort をトリガーする。
--ssl SSL/TLS を試す
--ssl-allow-beast Allow security flaw to improve interop
--ssl-auto-client-cert Use auto client certificate (Schannel)
--ssl-no-revoke Disable cert revocation checks (Schannel)
--ssl-reqd Require SSL/TLS
--ssl-revoke-best-effort Ignore missing/offline cert CRL dist points
-2, --sslv2 Use SSLv2
-3, --sslv3 Use SSLv3
--stderr <file> Where to redirect stderr
--styled-output Enable styled output for HTTP headers
--suppress-connect-headers Suppress proxy CONNECT response headers
--tcp-fastopen Use TCP Fast Open
--tcp-nodelay Use the TCP_NODELAY option
-t, --telnet-option <opt=val> Set telnet option
--tftp-blksize <value> Set TFTP BLKSIZE option
--tftp-no-options Do not send any TFTP options
-z, --time-cond <time> Transfer based on a time condition
--tls-max <VERSION> Set maximum allowed TLS version
--tls13-ciphers <ciphersuite list> TLS 1.3 cipher suites to use
--tlsauthtype <type> TLS authentication type
--tlspassword <string> TLS password
--tlsuser <name> TLSユーザー名
-1, --tlsv1 TLSv1.0以降を使用します。
--tlsv1.0 TLSv1.0以上を使用します。
--tlsv1.1 TLSv1.1以上を使用します。
--tlsv1.2 TLSv1.2以上を使用します。
--tlsv1.3 TLSv1.3以上を使用します。
--tr-encoding 圧縮された転送エンコーディングを要求する。
--trace <file> デバッグトレースをFILEに書き込む
--trace-ascii <file> -traceと同様だが、16進数の出力はない。
--trace-time トレース/バーボース出力にタイムスタンプを追加します。
--unix-socket <path> このUnixドメインソケットで接続する
-T, --upload-file <file> ローカルFILEを転送先に転送します。
--url <url> 動作させるURL
-B, --use-ascii ASCII/テキスト転送を使用する
-u, --user <user:password> サーバーユーザーとパスワード
-A, --user-agent <name> ユーザーエージェント<name>をサーバに送る
-v, --verbose 動作をより饒舌にする
-V, --version バージョン番号を表示して終了する。
-w, --write-out <format> 完了後に出力FORMATを使用する
--xattr 拡張ファイル属性にメタデータを格納する。
www.DeepL.com/Translator(無料版)で翻訳しました。
レスポンスヘッダーだけを取得したい(レスポンスボディはいらない)
--silent
と --head
オプションを使う
curl --silent --head https://example.com
HTTP/2 200
content-encoding: gzip
accept-ranges: bytes
age: 296508
cache-control: max-age=604800
content-type: text/html; charset=UTF-8
date: Fri, 06 Jan 2023 01:30:26 GMT
etag: "3147526947"
expires: Fri, 13 Jan 2023 01:30:26 GMT
last-modified: Thu, 17 Oct 2019 07:18:26 GMT
server: ECS (sab/56DE)
x-cache: HIT
content-length: 648