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


BitfinexのTickerをPowerShellで取得する(API v1)

PowerShellでBitfinexのTickerを取得する例を以下に記します。


スポンサーリンク

参考資料

BitfinexのTicker取得するAPIドキュメントURL
API仕様は、以下のURLで確認してください。
https://bitfinex.readme.io/v1/reference#rest-public-ticker

関連記事

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

以下、URLでTickerを取得できます。

通貨シンボル一覧(通貨ペア一覧)については、以下のリンク記事を参考にしてください。

PowerShellによるアクセス

PowerShellのInvoke-RestMethodコマンドレットと、
Invoke-WebRequest+ConvertFrom-Jsonコマンドレットを使って、\
BitfinexのTickerを取得してみます。

Invoke-RestMethodコマンドレットでTickerを取得してみる

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

以下の操作例は、ETH/BTCXLM/JPYの通貨ペアを取得しています。
通貨シンボル一覧(通貨ペア一覧)については、以下のリンク記事を参考にしてください。

PS C:\> $v1_ticker_api = "https://api.bitfinex.com/v1/pubticker/"
PS C:\> $symbol = "ethbtc"
PS C:\> $ticker = Invoke-RestMethod -UseBasicParsing ($v1_ticker_api + $symbol)
PS C:\> $ticker

mid        : 0.0706165
bid        : 0.070575
ask        : 0.070658
last_price : 0.070658
low        : 0.070411
high       : 0.072696
volume     : 12980.205281710008
timestamp  : 1531181760.7016923

PS C:\> $symbol = "xlmjpy"
PS C:\> $ticker = Invoke-RestMethod -UseBasicParsing ($v1_ticker_api + $symbol)
PS C:\> $ticker

mid        : 22.7525
bid        : 22.698
ask        : 22.807
last_price : 22.69807138
low        : 22.69807138
high       : 23.54399956
volume     : 10046.78230199
timestamp  : 1531181831.9344094

Invoke-WebRequest+ConvertFrom-JsonコマンドレットでTickerを取得する

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

  1. Invoke-WebRequestでTickerAPIをアクセス
    PS C:\> $btcusd_ticker_url = "https://api.bitfinex.com/v1/pubticker/btcusd"
    PS C:\> $response = Invoke-WebRequest -UseBasicParsing $btcusd_ticker_url
  2. 取得したレスポンスを表示します。
    PS C:\> $response
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : {"mid":"6350.95","bid":"6350.9","ask":"6351.0","last_price":"6350.4","low":"6286.3","high":"6407.9"
                        ,"volume":"14856.667564400002","timestamp":"1531358483.7853873"}
    RawContent        : HTTP/1.1 200 OK
                        Connection: keep-alive
                        X-Frame-Options: SAMEORIGIN,SAMEORIGIN
                        X-XSS-Protection: 1; mode=block
                        X-Content-Type-Options: nosniff
                        X-Request-Id: 6451c7f8-d06d-4234-989b-7641e87a17bd
                        X...
    Forms             :
    Headers           : {[Connection, keep-alive], [X-Frame-Options, SAMEORIGIN,SAMEORIGIN], [X-XSS-Protection, 1; mode=blo
                        ck], [X-Content-Type-Options, nosniff]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        :
    RawContentLength  : 163
  3. ステータスコード、HTTP Header, Content-Typeなどの値にアクセスしてみます。
    PS C:\> $response.StatusCode
    200
     
    PS C:\> $response.Headers
    
    Key                       Value
    ---                       -----
    Connection                keep-alive
    X-Frame-Options           SAMEORIGIN,SAMEORIGIN
    X-XSS-Protection          1; mode=block
    X-Content-Type-Options    nosniff
    X-Request-Id              0bc8dfe5-1a04-4bab-ae67-8add9427fec1
    X-Runtime                 0.005799
    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                    437edbd18d589559-NRT
    Content-Length            104
    Cache-Control             max-age=0, private, must-revalidate
    Content-Type              application/json; charset=utf-8
    Date                      Tue, 10 Jul 2018 00:19:26 GMT
    ETag                      W/"d19fa253552728a626c37d4221f14969"
    Set-Cookie                __cfduid=d581c9a228f8c52ac4d92403d2bc0d6ac1531181966; expires=Wed, 10-Jul-19 00:19:26 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
    
    mid        : 6350.95
    bid        : 6350.9
    ask        : 6351.0
    last_price : 6350.4
    low        : 6286.3
    high       : 6407.9
    volume     : 14856.667564400002
    timestamp  : 1531358483.7853873

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

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

51.png

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

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

PS C:\> $ProgressPreference
Continue

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

PS C:\> $ProgressPreference = "SilentlyContinue"

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


スポンサーリンク

添付ファイル: file51.png 231件 [詳細] file04.png 284件 [詳細] file03.png 244件 [詳細] file02.png 265件 [詳細] file01.png 298件 [詳細]

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