- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-07-13T01:10:17+09:00","","")
#author("2018-07-13T09:21:44+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)>API/Bitfinex/通貨ペアのシンボル一覧の取得(API v1)(PowerShell)]]
-[[BitfinexのTickerの取得(API v1)(PowerShell)>API/Bitfinex/Tickerの取得(API v1)(PowerShell)]]
-[[Bitfinexで指定した通貨ペアの取引量を取得する(API v1)(PowerShell)>API/Bitfinex/指定した通貨ペアの取引量を取得する(API v1)(PowerShell)]]
-[[Bitfinexのファンディング情報を取得する(API v1)(PowerShell)>API/Bitfinex/ファンディング情報を取得する(API v1)(PowerShell)]]
-[[Bitfinexの板情報(注文一覧)を取得する(API v1)(PowerShell)>API/Bitfinex/板情報(注文一覧)を取得する(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)