Dans Ruby:cristal lang comment obtenir le fichier binaire à partir de http
require 'open-uri'
download = open('http://example.com/download.pdf')
IO.copy_stream(download, '~/my_file.pdf')
Comment faire la même chose à Crystal?
Dans Ruby:cristal lang comment obtenir le fichier binaire à partir de http
require 'open-uri'
download = open('http://example.com/download.pdf')
IO.copy_stream(download, '~/my_file.pdf')
Comment faire la même chose à Crystal?
Je l'ai fait moi-même.
require "http/request"
require "file"
res = HTTP::Client.get "https://ya.ru"
fl=File.open("ya.html","wb")
res.to_io(fl)
fl.close
Merci à tous.
Bien sûr, vous devriez préférer la forme de bloc de 'File.open '. –
Nous pouvons faire ce qui suit:
require "http/client"
HTTP::Client.get("http://example.org") do |response|
File.write("example.com.html", response.body_io)
end
Cela écrit simplement la réponse sans en-têtes HTTP dans le fichier. File.write
est également assez intelligent pour ne pas télécharger le fichier entier en mémoire d'abord, mais pour écrire dans le fichier comme il lit des morceaux à partir du IO
donné.
Merci John, ça marche, mais sans http-headers – SeventhSon
Tellement moins d'effort n'est pas un bon début pour cette communauté. – ckruczek
J'ai passé assez de temps googling sans résultat – SeventhSon
https://crystal-lang.org/api/0.21.0/HTTP/WebSocket/Protocol/StreamIO.html donne 404 – SeventhSon