curl を Julia に変換

curl2code は、HTTP.jl を使用して curl コマンドを Julia コードに変換します。変換は完全なプライバシー保護のため、WebAssembly を介してブラウザ内で実行されます。Python については、curl to Python 変換ツールをご確認ください。R については、curl to R をご覧ください。以下に、実用的な Julia の例を示します。

ブラウザから curl をコピーする方法

  1. 1

    デベロッパーツールを開く

    F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。

  2. 2

    ネットワークタブに移動

    ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。

  3. 3

    cURL としてコピー

    リクエストを右クリック → コピーcURL としてコピー を選択します。その後、上に貼り付けてください。

よくある質問

Julia HTTP.jl とは何ですか?

HTTP.jl は、Julia 用の標準的な HTTP クライアントおよびサーバーパッケージです。コネクションプーリング、クッキー処理、ストリーミングサポートを備えたシンプルで高レベルな API を提供します。using Pkg; Pkg.add("HTTP") でインストールできます。Julia のマルチディスパッチシステムとよく統合されています。curl2code は、すべての Julia 変換に HTTP.jl を使用します。

HTTP.jl、Downloads.jl、LibCURL.jl のどれを使うべきですか?

HTTP.jl はフル機能の HTTP クライアントであり、API やカスタムリクエストに使用します。Downloads.jl は単純なファイルダウンロード用の標準ライブラリモジュールです。LibCURL.jl は curl 固有の機能のために libcurl をラップしたものです。ほとんどのタスクには HTTP.jl が適しています。同様の科学計算クライアントについては、curl to Python または curl to R を参照してください。

Julia で認証を処理するにはどうすればよいですか?

ヘッダーをペアのベクトルとして渡します:HTTP.get(url, ["Authorization" => "Bearer $token"])。Basic 認証の場合:["Authorization" => "Basic $(base64encode("$user:$pass"))"]。Julia の $ を使った文字列補間により、ヘッダー構築が簡潔になります。curl2code は認証フラグを Julia の構文に変換します。

Julia でマルチパートフォームデータを送信するにはどうすればよいですか?

HTTP.Form を使用します:HTTP.post(url, body=HTTP.Form(["file" => open("doc.pdf"), "desc" => "My file"]))。HTTP.jl はマルチパートエンコーディング、バウンダリ、Content-Type を自動的に処理します。curl2code は -F フラグを HTTP.jl の Form 構文に変換します。

Julia で HTTP エラーを処理するにはどうすればよいですか?

HTTP.jl はデフォルトで 2xx 以外のレスポンスに対して HTTP.StatusError をスローします。レスポンスを直接取得するには status_exception=false で無効にします。エラー処理には try ... catch e を使用してください。HTTP コードについては e.status を確認します。ネットワークエラーは HTTP.IOError をスローします。

Julia で並行 HTTP リクエストを行うにはどうすればよいですか?

@async タスクを使用します:tasks = [@async HTTP.get(url) for url in urls]、その後に responses = fetch.(tasks) を実行します。真の並列処理には Threads.@threads または Distributed を使用します。Julia のコルーチンベースのタスクは、I/O バウンドな並行リクエストに対して効率的です。

Julia でタイムアウトを設定するにはどうすればよいですか?

readtimeout キーワードを渡します:HTTP.get(url, readtimeout=30)。接続タイムアウトには connect_timeout を使用します。リトライには retry=trueretries=3 を使用します。HTTP.jl には指数バックオフを備えた組み込みのリトライ機能があります。これらは curl の --max-time および --connect-timeout に対応します。

Julia でプロキシを使用するにはどうすればよいですか?

proxy キーワードを渡します:HTTP.get(url, proxy="http://proxy:8080")。HTTP.jl はデフォルトで HTTP_PROXY および HTTPS_PROXY 環境変数も尊重します。認証が必要なプロキシの場合は、プロキシ URL に認証情報を含めます:http://user:pass@proxy:8080

JuliaでJSONボディを含むPOSTリクエストを送信する方法は?

curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URLのようなcurlのPOSTコマンドをJuliaに変換します。生成されたコードではHTTP.post(url, ['Content-Type' => 'application/json'], JSON3.write(data))を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、HTTP.jlのコードに適切なContent-Typeヘッダーを設定します。

JuliaでBearerトークン認証を追加する方法は?

curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダー['Authorization' => 'Bearer YOUR_TOKEN']を含むHTTP.jlのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。

JuliaでContent-Typeヘッダーを設定する方法は?

curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダー['Content-Type' => 'application/json']を含むHTTP.jlのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいHTTP.jl APIにマッピングします。

便利なリンク

curl ガイド

curl を他の言語に変換