HTTP.jl パッケージ

JuliaからWeb APIを呼び出すためには、HTTP.jlパッケージが必要になる。

JuliaにHTTPパッケージを追加していないと、次のエラーメッセージが表示される。

ERROR: LoadError: ArgumentError: Package HTTP not found in current path:
- Run `import Pkg; Pkg.add("HTTP")` to install the HTTP package.

Stacktrace:
[1] require(::Module, ::Symbol) at .\loading.jl:823
[2] include at .\boot.jl:326 [inlined]
[3] include_relative(::Module, ::String) at .\loading.jl:1038
[4] include(::Module, ::String) at .\sysimg.jl:29
[5] exec_options(::Base.JLOptions) at .\client.jl:267
[6] _start() at .\client.jl:436
in expression starting at C:\Users\tsuka\Documents\examples\julia\edinet.jl:1

JuliaにHTTPパッケージを追加するには、JuliaのREPLで]キーを押下してパッケージモードに切り替える。

パッケージモードに切り替わったら、addコマンドでHTTPパッケージを追加する。

(v1.1) pkg> add HTTP
Updating registry at `C:\Users\tsuka\.julia\registries\General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Installed LoweredCodeUtils ─── v0.3.4
Installed Compat ───────────── v2.1.0
Installed CodeTracking ─────── v0.5.7
Installed OrderedCollections ─ v1.1.0
Installed JuliaInterpreter ─── v0.5.0
Installed Revise ───────────── v2.1.3
Updating `C:\Users\tsuka\.julia\environments\v1.1\Project.toml`
[cd3eb016] + HTTP v0.8.0
Updating `C:\Users\tsuka\.julia\environments\v1.1\Manifest.toml`
[da1fd8a2] ↑ CodeTracking v0.4.0 ⇒ v0.5.7
[34da2185] ↑ Compat v2.0.0 ⇒ v2.1.0
[aa1ae85d] ↑ JuliaInterpreter v0.3.1 ⇒ v0.5.0
[6f1432cf] ↑ LoweredCodeUtils v0.2.0 ⇒ v0.3.4
[bac558e1] ↑ OrderedCollections v1.0.2 ⇒ v1.1.0
[295af30f] ↑ Revise v2.0.0 ⇒ v2.1.3

(v1.1) pkg

パッケージを追加したら、Backspaceキーを押下して、パッケージモードを終了する。

JuliaからWeb APIを呼び出すサンプルとして、金融庁の電子開示システム「EDINET」の書類一覧APIを使って、メタデータを取得する例を示す。

using HTTP

# 書類一覧APIのエンドポイント
url = "https://disclosure.edinet-fsa.go.jp/api/v1/documents.json"

# 書類一覧APIのリクエストパラメータ
params = Dict("date" => "2019-04-25")

# 書類一覧APIの呼び出し
res = HTTP.get(url; require_ssl_verification = false, query = params)

# レスポンスの表示
println(String(res.body))

get()

HTTP.get()には、次のオプションを指定できる。

オプション 説明
query クエリパラメータ
require_ssl_verification SSL証明書の検証を要求する。