ルビーを使用して、認証を必要とするIPカメラから単一のJPG画像を取得し、その画像をファイルに書き込む最も簡単な方法は何ですか?たとえば、次のURLを使用するIPカメラ:
http://192.168.69.81/cgi/jpg/image.cgi
画像を操作する必要はありません。
前もって感謝します。
リモートロケーションを開き、ファイルをimage.jpgという名前のjpegイメージとして書き込みます。
require 'open-uri'
url = 'http://192.168.69.81/cgi/jpg/image.cgi'
open(url, :http_basic_authentication => ['username', 'password']) do |f|
open('image.jpg','wb') do |file|
file.puts f.read
end
end
あなたはこれを試すことができます
require 'net/http'
Net::HTTP.start(url, port) do |http|
req = Net::HTTP::Get.new('/image.cgi')
req.basic_auth 'username', 'password'
response = http.request(req)
open("image.cgi", "wb") do |file|
file.write(response.body)
end
end