Julia のダウンロード用プロキシ環境変数
Julia を起動する前に libcurl 互換のプロキシ変数を用意し、すべてのパッケージが同じバックエンドを使うと決めつけずに Downloads のリクエストを診断します。
Julia の標準ライブラリ Downloads は libcurl を使用します。ダウンロードを実行するプロセスを起動する前にプロキシ環境を設定してください:
export http_proxy='http://proxy.example:8080'
export https_proxy='http://proxy.example:8080'
export no_proxy='localhost,127.0.0.1'
julia fetch.jl
サンプルの fetch.jl は通常の Downloads API を使えます:
using Downloads
Downloads.download(
"https://downloads.example/data.csv",
"data.csv";
timeout = 30,
)
https_proxy 変数は HTTPS 宛先への経路を選び、http:// の値は通常の HTTP プロキシを指定します。公開エンドポイントの利用が許可されたダウンロードでは、HTTP プロキシ一覧がその値の候補を提供します。プロキシのリスナー自体が TLS に対応していない限り、その値を https:// に変更しないでください。
libcurl は http_proxy を小文字でのみ受け付けます。他のプロトコル用プロキシ変数にも大文字の形式があります。バイパスの規則は no_proxy または NO_PROXY で、項目はカンマ区切りです。http_no_proxy は文書化された一般的なバイパス変数ではありません。
IDE やバックグラウンドサービスが起動した Julia プロセスは、その起動元の環境を継承します。別のターミナルで後から export した変数では再設定されません。
診断には Downloads.download が verbose=true を受け付け、そのデバッグコールバックは詳細なトランスポートイベントを受け取れます。その出力はローカルで確認し、共有する前に秘密情報を削除してください。
別の HTTP 実装を使うパッケージは、独自の設定確認が必要です。Downloads の呼び出しが成功しても、それはそのリクエストの挙動を示すもので、Julia で書かれたすべてのネットワーク処理を示すものではありません。