2017-06-30 21 views
0

私はウェブサイトのAPIでルビーを使用しようとしています。命令は、ヘッダーと共にGET要求を送信することです。これらはウェブサイトからの指示と、それらが提供するサンプルPHPコードです。私はHMACハッシュを計算し、それをapisignヘッダーの下に含めます。Ruby - ヘッダーでGETリクエストを送信

$apikey='xxx'; 
$apisecret='xxx'; 
$nonce=time(); 
$uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce; 
$sign=hash_hmac('sha512',$uri,$apisecret); 
$ch = curl_init($uri); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign)); 
$execResult = curl_exec($ch); 
$obj = json_decode($execResult); 

コマンドプロンプトからウィンドウにrubyをインストールした.rbファイルを使用しています。私は、ルビーファイルでnet/httpを使用しています。ヘッダー付きのGET要求を送信し、その応答を印刷するにはどうすればよいですか?

答えて

3

質問により示唆されるようnet/httpを使用します。

参照:

、(あなたがNet::HTTP::Getに呼び出すことができる方法のための)Net::HTTPHeaderhttps://ruby-doc.org/stdlib-2.4.1/libdoc/net/http/rdoc/Net/HTTPHeader.htmlあなたres ponseがHTTP結果状態301(永久移動)を持っている場合、Ruby Net::HTTP - following 301 redirectsを参照してください

1

httparty宝石をインストールし、それは要求が道容易になり、その後、スクリプト内

require 'httparty' 

url = 'http://someexample.com' 
headers = { 
    key1: 'value1', 
    key2: 'value2' 
} 

response = HTTParty.get(url, headers: headers) 
puts response.body 

は、あなたの.rbファイルを実行します。..

+1

私自身はRestClientを好んでいますが、これも人気があります。 :) –

+0

@SergioTulentsev何か特別な理由または個人的な好み? –

+0

私の考えでは、httpartyは奇妙な埋め込みシナリオのためのものです。モデルやサービスにhttpartyモジュールを追加すると、突然リモート呼び出しが可能になります。しかし、はい、それは明らかに独立して動作することもできます。私はrestclientを好む、それは私に選択を提供しないので。 :) –

関連する問題