curl

curl はホスティング側から HTTP/HTTPS リクエストを送り、ステータス・ヘッダー・本文を表示し、メソッド、データ、Cookie、Basic Auth を扱い、応答の保存やエディター表示もできます。

ネットワークバージョン 1.2.4安定版
lil-terminal

概要

リモートエンドポイントがサーバー側からどう見えるか確認したいときに curl を使います。API、リダイレクト、ヘッダー、IPv4/IPv6、応答の保存をシステムシェルなしで確認できます。

リクエスト、レスポンス、実行場所

curl はローカルブラウザーではなくホスティングサーバー上で実行されます。まず単純な GET またはヘッダーだけを確認し、本文・認証・診断フラグは必要な場合だけ追加します。-k は証明書検証を意図的に無効化します。

構文

lil-terminal
curl <url|host|me> [options]

リファレンス

curl me

現在のホストを使用する

curl example.com

GET リクエストを送信して状態と本文を表示する

curl example.com -I

最終レスポンスヘッダーだけを表示する

curl example.com -s [file]

レスポンスを保存する; 省略時は URL のファイル名を使用する

curl example.com -X POST -d "a=1"

リクエスト本文を送信する

-X <method>

HTTP メソッドを設定する

-d <data>

リクエスト本文を設定する; 既定は POST

-H "Name: value"

リクエストヘッダーを追加する; 複数回指定可能

-u <user>

非表示のパスワード入力で HTTP Basic 認証を使用する

-c '{"name":"value"}'

JSON オブジェクトから cookie を送信する

-s [file] | -o <file>

ホスト上にレスポンスを保存する

-a

置換せず追記する; -s または -o が必要

-i

最終レスポンスヘッダーを含める

-I

最終レスポンスヘッダーだけを表示する

-j

レスポンスを構造化 JSON で表示する

-edit @edit

レスポンス本文をテキストエディターで開く

-code @code

レスポンス本文をコードエディターで開く

-t [seconds]

5 秒または 1 から 300 秒の任意のタイムアウトを使用する

-T

300 秒のタイムアウトを使用する

-4 | -6

cURL が利用可能な場合に IPv4 または IPv6 を使用する

-r

リダイレクトを追跡しない

-k

安全でない TLS 証明書を許可する

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

ヘッダーを確認してから応答を保存する

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install curl
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install curl -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install curl -v 1.2.4
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade curl
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install curl -u

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

ヘッダーを確認してから応答を保存する
curl https://example.com -I | curl https://example.com/feed.xml -o sandbox/tmp/feed-copy.xml
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256

sandbox/tmp/
  feed-copy.xml
GET リクエストを送信して状態と本文を表示する
curl https://example.com
HTTP  200
URL   https://example.com/

<!doctype html>
<html>
<head><title>Example Domain</title></head>
<body>…</body>
</html>
最終レスポンスヘッダーだけを表示する
curl https://example.com -I
HTTP/2 200
content-type: text/html; charset=UTF-8
cache-control: max-age=86000
content-length: 1256
最終レスポンスヘッダーを含める
curl https://example.com -i
HTTP/2 200
content-type: text/html; charset=UTF-8

<!doctype html>
<html>…</html>
リクエストヘッダーを追加する; 複数回指定可能
curl https://example.com/api -H "Accept: application/json"
HTTP  200
URL   https://example.com/api

{"status":"ok","service":"example"}
リクエスト本文を送信する
curl https://example.com/api -X POST -d "name=lil"
HTTP  200
URL   https://example.com/api

{"saved":true,"name":"lil"}
JSON オブジェクトから cookie を送信する
curl https://example.com -c '{"theme":"dark"}'
HTTP  200
URL   https://example.com/

<!doctype html>
<html data-theme="dark">…</html>
ホスト上にレスポンスを保存する
curl https://example.com/feed.xml -o sandbox/tmp/feed.xml
sandbox/tmp/
  feed.xml
現在のホストを使用する
curl me
HTTP  200
URL   https://lil.dog/

<!doctype html>
<html>…</html>
CURL が利用可能な場合に IPv4 または IPv6 を使用する
curl https://example.com -6
HTTP  200
URL   https://example.com/

<!doctype html>
<html>…</html>
リダイレクトを追跡しない
curl https://example.com -r
HTTP  200
URL   https://example.com/

<!doctype html>
<html>…</html>
CURL が利用可能な場合に IPv4 または IPv6 を使用する
curl https://example.com -4
HTTP/2 200
content-type: application/json
content-length: 128
未対応のプロトコルを拒否する
curl ftp://example.com
URL: 無効

関連ドキュメント

現在の公開版

v1.2.42026-08-11

言語同期

curl のローカルヘルプとサーバーヘルプの同期を完了し、ローカライズの安全性を強化します。