curl を Julia に変換
curl2code は、HTTP.jl を使用して curl コマンドを Julia コードに変換します。変換は完全なプライバシー保護のため、WebAssembly を介してブラウザ内で実行されます。Python については、curl to Python 変換ツールをご確認ください。R については、curl to R をご覧ください。以下に、実用的な Julia の例を示します。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 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=true と retries=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にマッピングします。