このエントリーをはてなブックマークに追加


Bitfinexの通貨ペアシンボル一覧をPowerShellで取得する(API v1)

PowerShellでBitfinexの通貨ペアのシンボル一覧を取得する例を以下に記します。


スポンサーリンク

参考資料

Bitfinexの通貨ペアシンボルを取得するAPIドキュメントURL
API仕様は、以下のURLで確認してください。
https://bitfinex.readme.io/v1/reference#rest-public-symbols

関連記事

ブラウザでアクセスしてみる

以下、URLでBitfinexの通貨ペアシンボル一覧を取得できます。
https://api.bitfinex.com/v1/symbols

Firefoxでアクセスした時のスクリーンショットです。

JSON生データ
01.png02.png

PowerShellによるアクセス

PowerShellのInvoke-RestMethodコマンドレットと、Invoke-WebRequest+ConvertFrom-Jsonコマンドレットを使って、
Bitfinexの通貨ペア一覧を取得してみます。

Invoke-RestMethodコマンドレット

Invoke-RestMethodコマンドレットを使用して、Bitfinexの通貨ペア一覧を取得する操作例になります。

PS C:\> $v1_symbols_api = "https://api.bitfinex.com/v1/symbols"
PS C:\> $symbols = Invoke-RestMethod -UseBasicParsing $v1_symbols_api
PS C:\> $symbols
btcusd
ltcusd
ltcbtc
ethusd
ethbtc
etcbtc
etcusd
rrtusd
rrtbtc
zecusd
zecbtc
xmrusd
xmrbtc
<省略>

以下、xlmとxrpでマッチする通貨ペアを表示した操作例となります。

PS C:\> $symbols | Where-Object {$_ -match "xrp"}
xrpusd
xrpbtc
PS C:\> $symbols | Where-Object {$_ -match "xlm"}
xlmusd
xlmeur
xlmjpy
xlmgbp
xlmbtc
xlmeth

Invoke-WebRequest+ConvertFrom-Jsonコマンドレット

Invoke-WebRequest使うことにより、HTTPステータスや、Content-Typeなどを取得することができます。
取得したContent部分をConvertFrom-Jsonコマンドレットを使うことにより、Invoke-RestMethodと同様に、
JSON形式でアクセスすることができます。

  1. Invoke-WebRequestでsymbols APIをアクセス
    PS C:\> $v1_symbols_api = "https://api.bitfinex.com/v1/symbols"
    PS C:\> $response = Invoke-WebRequest -UseBasicParsing $v1_symbols_api
  2. 取得したレスポンスを表示します。
    PS C:\> $response
    
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : ["btcusd","ltcusd","ltcbtc","ethusd","ethbtc","etcbtc","etcusd","rrtusd","rrtbtc","zecusd","zecbtc"
                        ,"xmrusd","xmrbtc","dshusd","dshbtc","btceur","btcjpy","xrpusd","xrpbtc","iotusd","iotbtc","ioteth"
                        ,"...
    RawContent        : HTTP/1.1 200 OK
                        Transfer-Encoding: chunked
                        Connection: keep-alive
                        Vary: Accept-Encoding
                        X-Frame-Options: SAMEORIGIN,SAMEORIGIN
                        X-XSS-Protection: 1; mode=block
                        X-Content-Type-Options: nosniff
                        X-...
    Forms             :
    Headers           : {[Transfer-Encoding, chunked], [Connection, keep-alive], [Vary, Accept-Encoding], [X-Frame-Options,
                         SAMEORIGIN,SAMEORIGIN]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        :
    RawContentLength  : 2179
  3. ステータスコード、HTTP Header, Content-Typeなどの値にアクセスしてみます。
    PS C:\> $response.StatusCode
    200
     
    PS C:\> $response.Headers
    
    Key                       Value
    ---                       -----
    Transfer-Encoding         chunked
    Connection                keep-alive
    Vary                      Accept-Encoding
    X-Frame-Options           SAMEORIGIN,SAMEORIGIN
    X-XSS-Protection          1; mode=block
    X-Content-Type-Options    nosniff
    X-Request-Id              5b9c9409-9b8e-4f24-831d-34259579d465
    X-Runtime                 0.005382
    Strict-Transport-Security max-age=31536000
    Expect-CT                 max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
    CF-RAY                    4373999e8fe994ab-NRT
    Cache-Control             max-age=0, private, must-revalidate
    Content-Type              application/json; charset=utf-8
    Date                      Sun, 08 Jul 2018 15:31:50 GMT
    ETag                      W/"e0891e924652dfba47cf1f78961dc5a2"
    Set-Cookie                __cfduid=d7681934404ed203d1f9594b66aae522b1531063910; expires=Mon, 08-Jul-19 15:31:50 GMT;...
    Server                    cloudflare
     
    PS C:\> $response.Headers.'Content-Type'
    application/json; charset=utf-8
  4. ConvertFrom-Jsonコマンドレットを使うことにより、JSON形式に変換することができます。
    PS C:\> $json = ConvertFrom-Json $response.Content
    PS C:\> $json
    btcusd
    ltcusd
    ltcbtc
    ethusd
    ethbtc
    etcbtc
    etcusd
    rrtusd
    rrtbtc
    zecusd
    zecbtc
    <省略>

Webの応答を読み取っています。(Waiting for response)を非表示にする方法

上記のコマンドレットを実行すると、APIサーバとのやり取りのプログレスメッセージが表示されます。

03.png

これを非表示にしたい場合は、以下のようにしてください。

非表示にするには、$ProgressPreferenceにSilentlyContinueを設定します。
変更前は以下のように Continue が設定されています。

PS C:\> $ProgressPreference
Continue

非表示にするには、以下のように変更します。

PS C:\> $ProgressPreference = "SilentlyContinue"

以上、PowerShellを使って、Bitfinexのsymbols APIを呼び出す方法でした。


スポンサーリンク

添付ファイル: file03.png 325件 [詳細] file02.png 307件 [詳細] file01.png 309件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-12 (木) 10:48:05