0
我想要通過Ruby訪問Kippt API,而不需要使用任何外部庫,即所有與Ruby打包在一起的是好的,但沒有其他(標準庫除外)。如何在沒有外部庫的情況下通過Ruby訪問Kippt API?
我應該怎麼做呢?請詳細說明過程。
我想要通過Ruby訪問Kippt API,而不需要使用任何外部庫,即所有與Ruby打包在一起的是好的,但沒有其他(標準庫除外)。如何在沒有外部庫的情況下通過Ruby訪問Kippt API?
我應該怎麼做呢?請詳細說明過程。
這是很基本的訪問,顯示它是可能的:
require "net/https"
require "uri"
uri = URI.parse('https://kippt.com/api/users/1/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
data = JSON.parse(response.body)
=> {
"username"=>"jorilallo",
"bio"=>"Co-founder of Kippt. I love building products.",
"app_url"=>"/jorilallo",
"avatar_url"=>"https://d19weqihs4yh5u.cloudfront.net/avatars/147d86b9-0830-49d8-a449-0421a6a4bf05/160x160",
"twitter"=>"jorilallo",
"id"=>1, "github"=>"jorde",
"website_url"=>"http://about.me/jorilallo",
"full_name"=>"Jori Lallo",
"dribbble"=>"jorilallo",
"counts"=>{"follows"=>1192, "followed_by"=>23628},
"is_pro"=>true, "resource_uri"=>"/api/users/1/"
}
有藉此論證,並把它變成與認證科佩斯,張貼PARAMS一些可重用的代碼中有相當數量的工作,爲基於HTTP的API請求失敗和其他標準問題。
我建議閱讀http://www.rubyinside.com/nethttp-cheat-sheet-2940.html瞭解如何構建和處理請求的更多細節。這就是我如何做到的(直到寫出答案,我從來沒有直接使用過Ruby的net/http,而是從該網站抓取了可能看起來很像的代碼塊)。
你能澄清「沒有任何圖書館的用法」嗎?從字面上看,這需要從頭開始實施低級TCP/IP,HTTP,JSON序列化。這似乎適得其反,你至少可以提供一些你認爲這是必要的背景,以及你已經嘗試過了嗎? –
這個編輯是否有點澄清這個問題? –
是的,所以Ruby核心顯然是好的。標準庫是什麼? http://www.ruby-doc.org/stdlib-1.9.3/libdoc/json/rdoc/index.html - 重要的,因爲它是你會發現基本的JSON和HTTP支持的地方。 –