cURL → C#
.NET API Code Generator

cURL to C# 変換ツール (.NET HttpClient, RestSharp & Flurl) 開発者ガイド

コマンドラインの cURL リクエストを、.NET HttpClient、RestSharp、Flurl.Http を用いた実用的な C# コードへ高精度に変換。非同期処理や接続プーリングのベストプラクティスに対応。

100% Client-Side Privacy
Zero Server Transmission
Presets:
cURL コマンド入力
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using System.Text.Json;

using var client = new HttpClient();

using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.openai.com/v1/chat/completions");

request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "sk-proj-mockToken998877665544332211");

var jsonPayload = """
{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "system",
      "content": "You are a professional C# and .NET full-stack architect."
    },
    {
      "role": "user",
      "content": "Demonstrate modern HttpClient and RestSharp best practices."
    }
  ],
  "temperature": 0.7,
  "max_tokens": 1000
}
""";
request.Content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");

try
{
    using var response = await client.SendAsync(request);
    response.EnsureSuccessStatusCode();
    var responseBody = await response.Content.ReadAsStringAsync();
    Console.WriteLine(responseBody);
}
catch (HttpRequestException ex)
{
    Console.WriteLine($"[HTTP Request Failed] {ex.StatusCode}: {ex.Message}");
}
HTTP メソッドとプロトコル
POSTHTTPS
対象ホストとルーティング
https://api.openai.com
0 query params
ヘッダーとペイロード
2 headers • BEARER Auth
JSON Payload (260 B)

100% クライアントサイド変換

ブラウザ内だけでcURL構文解析およびC#コード生成を完全完結。外部サーバーへの通信は一切ありません。

.NET 8/9 と多彩なライブラリ

モダンなHttpClient、RestSharp v107+、Flurl.Http、IHttpClientFactory DIパターンに対応。

認証・フラグの完全再現

Bearerトークン、Basic認証、カスタムヘッダー、マルチパートFormData、タイムアウト、SSLスキップに対応。

技術リファレンス&アーキテクチャガイド

cURL to C# 変換ツール (.NET HttpClient, RestSharp & Flurl) 開発者ガイド — リファレンスガイド

コマンドラインの cURL リクエストを、.NET HttpClient、RestSharp、Flurl.Http を用いた実用的な C# コードへ高精度に変換。非同期処理や接続プーリングのベストプラクティスに対応。

主要パラメータ&設定項目

targetLibrarystring

出力先の C# HTTP クライアントライブラリ:最新の .NET HttpClient、RestSharp、または Flurl.Http。

初期値: HttpClient
asyncPatternboolean

CancellationToken をサポートした最新の async/await メソッド構文を生成します。

初期値: true
jsonHandlingstring

リクエストペイロードおよびレスポンスのパースに使用する JSON シリアライズエンジン (System.Text.Json または Newtonsoft.Json)。

初期値: System.Text.Json
instantiationStylestring

ソケット枯渇を防ぐため、HttpClient を直接生成するか IHttpClientFactory 経由で注入するかを指定します。

初期値: IHttpClientFactory

プロの活用テクニック&推奨設定

IHttpClientFactory を活用してソケット枯渇(Socket Starvation)を防止

高スループットなループ処理内で HttpClient を using ブロックで囲んで毎回破棄しないでください。破棄されたソケットは OS 上で TIME_WAIT 状態となり、ポートが枯渇します。IHttpClientFactory で登録するか、共有シングルトンインスタンスを再利用してください。

System.Net.Http.Json でメモリ割り当てを最小化し直接ストリーミング

JsonConvert.SerializeObject で中間文字列をメモリ上に生成する代わりに、PostAsJsonAsync<T>() や ReadFromJsonAsync<T>() を使用してください。メモリバッファと直接ストリーミングを行うため、ガベージコレクション(GC)の負荷を大幅に軽減できます。

SocketsHttpHandler で DNS レコード更新に対応

シングルトンの HttpClient を利用する場合、SocketsHttpHandler.PooledConnectionLifetime を TimeSpan.FromMinutes(15) 等に設定してください。定期的に接続を再確立することで、DNS の変更やロードバランサーのフェイルオーバーを確実に追従できます。

Flurl.Http の例外は FlurlHttpException でキャッチ

Flurl.Http を採用する場合、汎用の HttpRequestException ではなく FlurlHttpException を捕捉してください。ex.StatusCode や await ex.GetResponseStringAsync() に即座にアクセスでき、詳細なエラー診断が可能になります。

よくあるトラブルと解決策

HttpRequestException: The SSL connection could not be established

自己署名証明書や非対応の TLS 暗号スイート宛てに接続した際に発生します(cURL の -k / --insecure オプションに相当)。開発環境では HttpClientHandler の DangerousAcceptAnyServerCertificateValidator を設定して回避できますが、本番環境では証明書検証を無効化しないでください。

SocketException: 各ソケット アドレスは通常 1 回のみ使用できます

リクエスト毎に new HttpClient() を繰り返すことで発生するソケット枯渇が原因です。依存性注入(DI)を用いた IHttpClientFactory または静的/シングルトン HttpClient 構成にリファクタリングしてください。

JSON POST リクエストで 415 Unsupported Media Type エラーが発生する

送信データが Encoding.UTF8 とメディアタイプ application/json を指定した StringContent でラップされているか確認するか、Content-Type ヘッダーを自動付与する PostAsJsonAsync を利用してください。

よくある質問 (FAQ)

cURL の Basic 認証 (-u user:password) は C# HttpClient でどのように表現されますか?▼

認証情報は Base64 エンコードされ、client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("user:password"))); のように Authorization ヘッダーへ設定されます。

.NET HttpClient でカスタムリクエストヘッダー (-H) はどこに追加すべきですか?▼

リクエスト共通のヘッダーは client.DefaultRequestHeaders に、リクエスト固有のヘッダーは HttpRequestMessage.Headers.Add() で設定します。ただし Content-Type などのコンテンツ依存ヘッダーは HttpContent.Headers に対して設定する必要があります。

HttpClient、RestSharp、Flurl.Http の主な違いは何ですか?▼

HttpClient は .NET 標準で最も最適化された高速な基盤です。RestSharp は直感的なリクエスト/レスポンス記述が可能でレガシー移行に適しています。Flurl.Http は流暢なチェーン型 URL ビルダー、自動 JSON 変換、強力なテストモック機能を備えています。

cURL の multipart form-data (-F key=value -F file=@path) は C# でどう変換されますか?▼

MultipartFormDataContent を使用して構築されます。テキスト項目には StringContent が、ファイルアップロードには ByteArrayContent または StreamContent がファイル名と Content-Type と共にバインドされます。

入力した cURL リクエストや API キーが外部サーバーへ送信されることはありますか?▼

一切送信されません。すべてのトークン解析、構文木変換、C# コード生成はブラウザ内の JavaScript ランタイム上で 100% 完結して実行されます。

関連するおすすめ開発ツール

すべてのツール →
cURLからJavaへの変換ガイド(Java 11+ HttpClient、OkHttp & Spring WebClient)developer

cURLコマンドを標準のjava.net.http.HttpClient、OkHttp3、Spring WebClientのプロダクション品質なJavaコードへ瞬時に変換します。

ツールを開く→
JSON から XML Schema (XSD) 定義ジェネレーター 開発者ガイドdeveloper

サンプルJSONからXMLスキーマ定義(XSD)の型構造、複合要素(complexType)、属性、出現頻度(minOccurs/maxOccurs)を高精度に自動推論。

ツールを開く→
インタラクティブ .gitignore ファイル生成ツール (Node, Python, Go, Rust, Java) 開発者ガイドdeveloper

OS、IDE、および50以上の主要プログラミング言語の除外ルールを組み合わせ、包括的な .gitignore テンプレートを瞬時に生成します。

ツールを開く→
Crontab構文&Quartzスケジュール式 チートシートdeveloper

5フィールドPOSIX規格および6フィールドQuartz形式のcron式完全リファレンス。特殊マクロ、実行周期計算、多重起動防止策を徹底解説。

ツールを開く→
JavaScript正規表現(RegEx)構文仕様・チートシートdeveloper

ECMAScript準拠の正規表現構文、キャプチャグループ(名前付き・非キャプチャ)、置換トークン($1, $&)、先読み・後読みの技術解説。

ツールを開く→
URLエンコード・デコードツールdeveloper

RFC 3986厳格規格、encodeURIComponent、encodeURI、formUrlEncodedに対応した高速・安全な双方向URL変換ツール。

ツールを開く→