¿Existe una biblioteca cURL para Ruby?Equivalente de cURL para Ruby?
Respuesta
Uso OpenURI y
open("http://...", :http_basic_authentication=>[user, password])
acceso a sitios/páginas/recursos que requieren autenticación HTTP.
Curb y Curl::Multi proporcionan enlaces CURL para Ruby.
También hay Mechanize, que es un cliente de raspado web de muy alto nivel, y utiliza Nokogiri para el análisis de HTML.
Curb-fu es una envoltura alrededor de encintado que a su vez utiliza libcurl. ¿Qué ofrece Curb-fu sobre Curb? Simplemente mucha azúcar sintáctica, pero eso puede ser a menudo lo que necesitas.
Agregando una respuesta más reciente, HTTPClient es otra biblioteca de Ruby que usa libcurl, admite subprocesos paralelos y muchos objetos del curl. Uso HTTPClient y Typhoeus para cualquier aplicación no trivial.
HTTP clients es una buena página para ayudarlo a tomar decisiones sobre los distintos clientes.
la eat
joya es una "sustitución" de 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
Se utiliza HTTPClient bajo el capó. También tiene algunas opciones:
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
No puedo hacer que esto funcione. 'require ': no se puede cargar dicho archivo - eat (LoadError) – Lumbee
Aquí hay un pequeño programa que escribí para obtener algunos archivos.
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
Sé que podría ser un poco más elocuente, pero sirve para su propósito. Echale un vistazo. Acabo de improvisarlo porque me cansé de ir a cada URL para obtener el código del libro que no estaba incluido en la descarga de la fuente.
Si usted sabe cómo escribir su solicitud como un comando curl
, no es una herramienta en línea que pueden convertirlo en rubí (2.0+) Código: curl-to-ruby
Actualmente, se sabe que las siguientes opciones: -d/--data
, -H/--header
, -I/--head
, -u/--user
, --url
y -X/--request
. Es open to contributions.
- 1. "Curl -F" equivalente Java
- 2. Equivalente a file_get_contents() con CURL?
- 3. ASP.NET Equivalente a este comando cURL
- 4. equivalente Python de Curl HTTP POST
- 5. Ruby equivalente de NumPy
- 6. ¿Archivo Java .properties equivalente para Ruby?
- 7. Groovy equivalente para ruby all y ninguno
- 8. Ruby equivalente para Python's for/else
- 9. Ruby "es" equivalente
- 10. Python equivalente de Perl/Ruby || =
- 11. Ruby equivalente de Python setattr()
- 12. ¿Cuál es el equivalente de Ruby para StringReader de Java?
- 13. C# equivalente al símbolo Ruby
- 14. Equivalente a "continuar" en Ruby
- 15. Ruby equivalente a PHP $ this
- 16. ¿Ruby tiene un method_missing equivalente para variables de instancia indefinidas?
- 17. ¿Hay un equivalente de Log4J para Ruby, Log4Ruby?
- 18. equivalente AES en Ruby openssl?
- 19. equivalente en Python de 'method_missing' de Ruby
- 20. equivalente de Perl de `rechazo!` De Ruby?
- 21. Python equivalente a cada_slice de Ruby (conteo)
- 22. Ruby equivalente de Perl Data :: Dumper
- 23. Ruby LESS equivalente de gema en Python
- 24. ¿Cuál es el equivalente Ruby de "pythonic"?
- 25. Ruby equivalente a la ayuda de Python()?
- 26. CURL para WAMP
- 27. ¿Para qué sirve cURL?
- 28. PHP equivalente al símbolo de Ruby
- 29. Python Equivalente a #each_cons de Ruby?
- 30. Ruby equivalente al "dir" de Python?
Honestamente, si veo que una biblioteca usa open-uri internamente, no uso esa biblioteca. Es una biblioteca profundamente defectuosa construida sobre un analizador URI profundamente defectuoso. Está bien para el uso en IRB y eso es todo. –
@Sporkmonger: Bueno, eso es lo que tenemos, ¿qué sugieres, Net :: HTTP en bruto? – apostlion
Use Net :: HTTP o Patron o Curb o cualquiera de las otras bibliotecas mencionadas en las otras respuestas. Cómo se votó o aceptó esta respuesta me supera. –