是否有Ruby的cURL庫?Ruby的cURL的等價物?
67
A
回答
30
90
Curb和Curl::Multi爲Ruby提供cURL綁定。
33
如果你喜歡它低級別,也有Typhoeus,它建立在Curl :: Multi之上。
5
還有Mechanize,這是一個非常高級別的網頁抓取客戶端,並使用Nokogiri進行HTML解析。
7
您也可以看看Rest-Client
9
Curb-fu是圍繞路沿石的包裝又使用的libcurl。 Curb-fu提供什麼優於Curb?只是很多語法糖 - 但這通常是你需要的。
4
添加更近的答案,HTTPClient是另一個使用libcurl的Ruby庫,它支持並行線程和很多捲曲好東西。我使用HTTPClient和Typhoeus來處理任何不平凡的應用程序。
7
HTTP clients是一個很好的網頁,可以幫助您做出有關各種客戶的決定。
6
的eat
創業板是一個 「替代」 的OpenURI:
# first do gem install eat
require 'eat'
eat('http://yahoo.com') #=> String
eat('/home/seamus/foo.txt') #=> String
eat('file:///home/seamus/foo.txt') #=> String
它採用HTTPClient引擎蓋下。它也有一些選擇:
eat('http://yahoo.com', :timeout => 10) # timeout after 10 seconds
eat('http://yahoo.com', :limit => 1024) # only read the first 1024 chars
eat('https://yahoo.com', :openssl_verify_mode => 'none') # don't bother verifying SSL certificate
4
這是我寫的一個小程序來獲取一些文件。
base = "http://media.pragprog.com/titles/ruby3/code/samples/tutthreads_"
for i in 1..50
url = "#{ base }#{ i }.rb"
file = "tutthreads_#{i}.rb"
File.open(file, 'w') do |f|
system "curl -o #{f.path} #{url}"
end
end
我知道這可能會更有說服力,但它可以達到目的。一探究竟。我今天把它拼湊在一起,因爲我厭倦了去每個URL來獲取未包含在源代碼下載中的書的代碼。
4
如果你知道如何寫你的要求爲curl
命令,有一個在線工具,可以把它變成紅寶石(2.0+)代碼:curl-to-ruby
目前,它知道以下選項:-d/--data
,-H/--header
,-I/--head
,-u/--user
,--url
和-X/--request
。它是open to contributions。
相關問題
- 1. Java的Ruby等價物ObjectSpace.each_object
- 2. Ruby中subprocess.Popen()的等價物?
- 3. curl命令的寧靜等價物
- 4. Python的延續與Ruby的等價物
- 5. Ruby的等價物的$ _SERVER ['REQUEST_URI']
- 6. Python的等價物Ruby的each_slice(count)
- 7. 什麼是C?:operator的Ruby等價物?
- 8. Go defer的ruby等價物是什麼?
- 9. 是否有「python -i」的ruby等價物?
- 10. XMLUnit有Ruby的等價物嗎?
- 11. 什麼是PHP $ _ENV的Ruby等價物?
- 12. 什麼是Ruby的substr等價物?
- 13. C#'使用'語句的Ruby等價物
- 14. 什麼是preg_quote()的Ruby等價物?
- 15. 什麼是Ruby中的「sys.stdout.write()」等價物?
- 16. 在Perl中Ruby的irb等價物?
- 17. Ruby的等價物`if __FILE__ == $ PROGRAM_NAME`
- 18. Ruby on Rails的FirePHP等價物
- 19. C++常量的Ruby等價物?
- 20. Python的等價物@
- 21. os.getpardir()的等價物?
- 22. 什麼是Curl POST命令的Angular JS等價物?
- 23. 什麼是這個curl請求的node.js等價物?
- 24. 將curl上傳到REST API的.NET等價物?
- 25. cURL命令的URL(字符串)等價物?
- 26. PostgreSQL的mysql_insert_id()的等價物?
- 27. Phoenix的Rails.env.production的等價物?
- 28. CCLayer的-viewDidAppear的等價物?
- 29. BeanShell的等價物淨
- 30. AS2中Event.MOUSE_LEAVE的等價物
老實說,如果我看到一個庫在內部使用open-uri,我不會使用該庫。這是一個深度瑕疵的庫,它建立在深層次的URI解析器之上。在IRB中使用它很好,就是這樣。 – 2009-06-01 19:30:16
@ Sporkmonger:恩,那就是我們所擁有的 - 你有什麼建議,原始的Net :: HTTP? – apostlion 2009-06-02 05:18:51
使用Net :: HTTP或Patron或Curb或其他答案中提到的任何其他庫。這個答案如何被投票或接受是超出我的。 – 2009-10-25 03:22:04