HTMLフォーム から cURL コマンド コンバーター
<form> の HTML を貼り付けると、すぐに実行できる curl コマンドが得られます。action/method/enctype を解析し、すべての名前付き入力を処理します。multipart/form-data と urlencoded、チェックボックス、セレクト、Basic Auth、カスタムヘッダーに対応しています。
入力
ページ全体、または <form>…</form> マークアップだけを貼り付けます。
1から始まるフォーム番号、またはページ上のすべてのフォームを変換する場合は "all"。
相対的なアクション("/login")を完全な URL に解決します。アクションが既に絶対的な場合は無視されます。
1行に1つの name=value — HTML で見つかったそのフィールドの値/checked 状態を置き換えます。
1行に1つのヘッダー、"Key: Value" 形式。
出力
| 名前 | タイプ | 値 | 含まれる |
|---|---|---|---|
| No data yet | |||
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/html-form-to-curl-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<form action=\"/login\" method=\"post\">\n <input na…",
"form": "1",
"baseUrl": "https://example.com",
"overrides": "",
"headers": "",
"basicAuthUser": "",
"basicAuthPass": "",
"followRedirects": "true"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `html-form-to-curl-converter` tool (HTML Form to cURL Command Converter) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/html-form-to-curl-converter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="HTMLフォーム から cURL コマンド コンバーター — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
ページのソースでログインフォームや検索フォームを見つけて、ターミナル、スクリプト、またはバグレポートから同じエンドポイントにアクセスする必要がありますか? <form> マークアップをここに貼り付けると、ブラウザが行うのと同じように送信する curl コマンドが得られます — 同じ URL、同じメソッド、同じフィールド名、同じエンコード。すべてはあなたのブラウザで実行されます。HTML はあなたのマシンを離れることはありません。
使い方
- フォーム HTML を入力ボックスに貼り付けるか、
.htmlファイルをアップローダーにドラッグします。保存されたページ全体でも構いません —<form>…</form>の外側のものはすべて無視されます。 - アクション属性が相対的な場合(
https://example.com/loginではなく/login)、ベース URL に入力して、生成されたコマンドが実際のアドレスを持つようにします。 - 解析されたフィールド テーブルを確認して、何が見つかったかを正確に確認します — すべての名前付き入力、そのタイプ、送信される値、そして実際に含まれているかどうか。
- HTML にあるものとは異なるサンプルデータが必要ですか? マークアップを編集する代わりに、
name=value行を フィールド値を上書き に追加してください。 - 追加ヘッダー、Basic Auth 認証情報を追加するか、リダイレクトに従う を切り替えてから、コマンドをコピーまたはダウンロードします。
フィールドの選択方法
これはあなたが送信をクリックするときにブラウザが適用するのと同じ規則に従います:
- チェックボックスとラジオボタン は
checked属性を持つ場合にのみ含まれます — チェックされていないボックスは送信されません。これは実際のフォーム動作と一致しています。 <select>はselectedとマークされたオプションを送信します。マークされていない場合は最初のオプション — 空白値は送信されません。- 無効なフィールド は常に除外されます。
<button type="reset">/type="button">は UI のみで、送信されないため削除されます。<input type="file">は貼り付けされたマークアップから実際のファイルバイトを持つことができないため、-F 'name=@/path/to/file'プレースホルダーになります — 実行する前にパスを編集してください。
設定
- 変換するフォーム — 1 から始まる番号(
1、2、3…)、またはページ上のフォームごとに 1 つのcurlコマンドを出力する場合はall。 - ベース URL — 相対的な
actionを絶対 URL に解決します。アクションが既に絶対的になると無視されます。 - フィールド値を上書き —
name=valueを 1 行に 1 つ。解析後に適用されます。HTML に触れずに実際のパスワードや新しい CSRF トークンを入れ替えるのに便利です。
GET で -d ではなくクエリ文字列を持つ URL が生成されるのはなぜですか?
それが実際に起こることだからです:method="get" フォームは本文を送信しません — ブラウザはすべてのフィールドをナビゲーション前に URL にクエリ文字列として追加します。これを -d で再現すると、実際のフォーム送信よりもサーバー上の別のコードパスにアクセスします。
urlencoded と multipart 出力の違いは何ですか?
通常のフォーム(または enctype がない場合)は application/x-www-form-urlencoded データを送信するため、各フィールドは --data-urlencode 'name=value' フラグになります。enctype="multipart/form-data" を追加する(ファイルアップロードに必要)と、各フィールドが代わりに -F 'name=value' に切り替わり、curl はこれを multipart 本文として送信します。
URL からフォームをフェッチできますか?
いいえ。そして意図的です。何もアップロードまたはフェッチされないため、このツールは内部ページ、ログイン済みダッシュボード、localhost でも公開サイトと同じように機能します。ブラウザの「ソースを表示」または DevTools → 要素をコピーを使用してから貼り付けてください。
関連ツール
既存のマークアップを貼り付ける代わりに、curl コマンドを最初から構築しますか? cURL Command Builder は同じフラグを使った手動の URL/header/body 入力に対応しています。フォームの代わりに貼り付けされた HTML から表形式データを抽出するには、HTML Table Extractor を参照してください。