#author("2018-07-09T00:44:46+09:00","","")
#navi(../)
* Bitfinexの通貨ペアシンボル一覧をPowerShellで取得する(API v1) [#tfaaee73]
PowerShellでBitfinexの通貨ペアのシンボル一覧を取得する例を以下に記します。~

#contents
#htmlinsert(cc-top.html)

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

* 関連記事 [#y1f2baae]
-[[Bitfinexの通貨シンボル一覧の取得(API v1)(PowerShell)>Bitfinex/API/通貨ペアのシンボル一覧の取得(API v1)(PowerShell)]]


* ブラウザでアクセスしてみる [#x9af0315]
以下、URLでBitfinexの通貨ペアシンボル一覧を取得できます。~
https://api.bitfinex.com/v1/symbols

Firefoxでアクセスした時のスクリーンショットです。~
|''JSON''|''生データ''|
|&ref(01.png);|&ref(02.png);|

* PowerShellによるアクセス [#f4e311d7]
PowerShellの''Invoke-RestMethod''コマンドレットと、''Invoke-WebRequest''+''ConvertFrom-Json''コマンドレットを使って、~
Bitfinexの通貨ペア一覧を取得してみます。

** ''Invoke-RestMethod''コマンドレット [#ce6723f2]
''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''コマンドレット [#y5e4910a]
''Invoke-WebRequest''使うことにより、HTTPステータスや、Content-Typeなどを取得することができます。~
取得したContent部分を''ConvertFrom-Json''コマンドレットを使うことにより、Invoke-RestMethodと同様に、~
JSON形式でアクセスすることができます。
+ Invoke-WebRequestでsymbols APIをアクセス
 PS C:\> $v1_symbols_api = "https://api.bitfinex.com/v1/symbols"
 PS C:\> $response = Invoke-WebRequest -UseBasicParsing $v1_symbols_api
+ 取得したレスポンスを表示します。
 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
+ステータスコード、HTTP Header, Content-Typeなどの値にアクセスしてみます。
 PS C:\> $response.StatusCode
 200
#br
 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
#br
 PS C:\> $response.Headers.'Content-Type'
 application/json; charset=utf-8
+ 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)を非表示にする方法 [#ve7dc280]
上記のコマンドレットを実行すると、APIサーバとのやり取りのプログレスメッセージが表示されます。~

#ref(03.png)

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

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

 PS C:\> $ProgressPreference
 Continue

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

 PS C:\> $ProgressPreference = "SilentlyContinue"

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

#htmlinsert(cc-btm.html)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS