FTPサーバーからファイルを取得する(Ruby)
まず、FTPサーバーを構築します。
今回は、ローカル(Mac)とAzureに構築する二つのパターンを紹介します。
・ローカルでFTPサーバーを立ち上げる
起動する。
sudo launchctl load -w /System/Library/LaunchDaemons/ftp.plist
停止する。
sudo launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
これだけです。
・AzureでFTPサーバーを立ち上げる
Azureにログイン後、新規->Web+モバイル->WebAppと選択し、
アプリ名やサブスクリプションなどを入力し作成。
サーバー構築後、設定->デプロイ資格情報でユーザ名とパスワードを設定します。
設定->プロパティでFTPホスト名が分かるのでFTPクライアントからAzureサーバーへ接続を行うことができます。
・FTPサーバーからファイルを取得する
require 'net/ftp'
host = URI(FTPホスト名).host
port = URI(FTPホスト名).port
remotefile = '習得するFTP側のファイルのフルパス'
local_file = '習得したデータの保存ファイルのフルパス'
#localの場合
Net::FTP.open('localhost') do |ftp|
ftp.login(ローカルのユーザ名, ローカルのパスワード)
ftp.passive = true
ftp.get(remotefile, local_file)
end
#Azureの場合
ftp = Net::FTP.new
ftp.connect(host, port)
ftp.login(Azureに設定したユーザ名, Azureに設定したパスワード)
ftp.passive = true
ftp.get(remotefile, local_file)