2016-07-05 4 views
1

でHTTPリクエストのヘッダを含めません私はこれを行う方法に関するドキュメントを見つけることができません。どうすればいいのですか?は、どのように私は以下のコードの作業をお持ちのルビー

+1

多くの宝石があります。 Net :: HTTPよりもHTTPを使う方がはるかに簡単です。私はそれらを研究し、ものを選ぶお勧めします。ネット:: HTTPは他に何もすでに存在していないそれらの時のために実際にあります。 –

答えて

4

get_responseは、より多くの制御が必要な場合はリクエストを行うための省略形です。自分で完全にリクエストしてください。ルビー標準ライブラリhereの例であります

uri = URI.parse("http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets/") 
req = Net::HTTP::Get.new(uri) 
req['token'] = 'fjhKJFSDHKJHjfgsdfdsljh' 

res = Net::HTTP.start(uri.hostname, uri.port) {|http| 
    http.request(req) 
} 
+0

ありがとうございますが、リクエストを2回送信しませんか? Net :: Http.newを呼び出すと、要求を送信しませんか? – JPB

+0

@JPBはありません、それは、リクエストを初期化サーバーに接続して、要求を送信します。 – Vasfed

1

あなたはきっと、この目標のためにNet::HTTPを使用することができますが、宝石exconは、あなたがそれを行うことができますが、はるかに簡単:

require 'excon' 
url = 'http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets/' 
Excon.get(url, headers: {token: 'fjhKJFSDHKJHjfgsdfdsljh'}) 
+1

これはこれを行う多くの宝石の一つです。 [httparty(https://github.com/jnunemaker/httparty)、[ファラデー(https://github.com/lostisland/faraday)および[縁石(https://github.com/taf2/curb)非常に人気があります。 – tadman

関連する問題