PowerShellでBitfinexのTickerを取得する例を以下に記します。
BitfinexのTicker取得するAPIドキュメントURL
API仕様は、以下のURLで確認してください。
https://bitfinex.readme.io/v1/reference#rest-public-ticker
以下、URLでTickerを取得できます。
通貨シンボル一覧(通貨ペア一覧)については、以下のリンク記事を参考にしてください。
PowerShellのInvoke-RestMethodコマンドレットと、
Invoke-WebRequest+ConvertFrom-Jsonコマンドレットを使って、\
BitfinexのTickerを取得してみます。
Invoke-RestMethodコマンドレットを使用して、BitfinexのTickerを取得する操作例になります。
以下の操作例は、ETH/BTCとXLM/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使うことにより、HTTPステータスや、Content-Typeなどを取得することができます。
取得したContent部分をConvertFrom-Jsonコマンドレットを使うことにより、Invoke-RestMethodと同様に、
JSON形式でアクセスすることができます。
PS C:\> $btcusd_ticker_url = "https://api.bitfinex.com/v1/pubticker/btcusd" PS C:\> $response = Invoke-WebRequest -UseBasicParsing $btcusd_ticker_url
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
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
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
上記のコマンドレットを実行すると、APIサーバとのやり取りのプログレスメッセージが表示されます。
これを非表示にしたい場合は、以下のようにしてください。
非表示にするには、$ProgressPreferenceにSilentlyContinueを設定します。
変更前は以下のように Continue が設定されています。
PS C:\> $ProgressPreference Continue
非表示にするには、以下のように変更します。
PS C:\> $ProgressPreference = "SilentlyContinue"
以上、PowerShellを使って、Bitfinexのticker APIを呼び出す方法でした。