• ベストアンサー
  • 困ってます

perlでFTP

ローカルPCからPerlで記述されたプログラムを実行し、 FTPサーバーへファイルをアップロードするPerlプログラムを教えてください。 DOS上では、 ftp open ftpサーバー名 ユーザー名 パスワード put 送信するファイル bye となるのですが、それをPerlで記述すると、どのようになるのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数177
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

下記URIの内容は、初心者向けとしてわかりやすいんじゃないかと思います。

参考URL:
http://www.asahi-net.or.jp/~ub2s-mrym/perl/index.html.ja.sjis

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 おかげ様で問題解決することができました。

関連するQ&A

  • FTPのバッチファイル

    ローカルPCからサーバーのPCへ毎日決まったファイルをFTPで伝送したいと思っています。今はFFFTPで、毎日手動でファイルをアップロードしていますが、DOS窓からFTP接続するコマンドをバッチファイルにすることってできないのでしょうか? できれば、そのバッチファイルをタスクスケジューラーに登録して日々自動でアップロードしたいと考えています。 ftp open 接続先 ユーザーID パスワード put ファイル名 といった内容をバッチファイルにしたいのですが、やり方をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • コマンドプロンプトを使ったFTPの自動化(応用)

    バッチファイルを作成して、FTPでファイルをサーバーにアップする事は旨く行きました。 以下のサイトを参考にしました。 http://www.ponko2.com/ftp_bat.html ただ、応用しようと思って行き詰っております。 複数のサーバー(100個以上ある)にファイルをアップロードしたいのですた、 同じファイルを複数作るのではなく、もっと効率のよい方法が無いかと思って質問させていただきます。 私の理想としては、サーバー情報を書いたテキストファイル(1行1サーバー情報)を用意して、 そこから1行ずつ読み込んで実行していくというプログラムは書けないのでしょうか? テキストファイルには、1行ずつ以下の情報を入れます。 「FTP先サーバー,ID,パスワード,アップロードする場所,ファイルの場所」 これを1行ずつ読み込んで、実行していくという事って可能でしょうか? 以下のデータの★の部分をテキストから読み込んで、テキストの行が終わるまで実行し続けてほしいです。 open ★(FTP先サーバー) ★(ログインユーザー名) ★(パスワード) asc prompt cd ★(アップロードする場所)\aaa lcd ★(ファイルの場所)\aaa mput * cd ★(アップロードする場所)\bbb lcd ★(ファイルの場所)\bbb mput * 。。。複数のフォルダがあるのでその中のファイルをすべてアップロードしていく bye わかる方居ましたら教えていただけると助かります。

  • コマンドプロンプトでFTPでエラー

    FTPコマンドプロンプトについてお聞きしたいです。 フォルダの中に 01.bat、01.txt、index.htmlが入っています バッチの中身は ftp -s:ftp00.txt テキストの中身は open サーバー名 ユーザー名 パスワード asc put index.html disconnect bye これを実行したら以下の様になったのですが、なにが原因なのでしょうか? スクリプト ファイル ftp00.txt を開くときにエラーが発生しました。 それともう一つ質問があるのですが、 手動でFTP情報をコマンドプロンプトに入力していったら ホスト接続完了→ユーザー名完了→パス入力のところで なぜかキーボードが入力できなくなってしまいます。 なぜでしょうか? osはvistaです。

その他の回答 (1)

  • 回答No.1

yahooなどでperl/ftp で検索したらいくらでもみつかります。 少しは自分で調べたら? Perlでファイル転送(FTP) http://ash.or.jp/perl/socket_ftp.htm

共感・感謝の気持ちを伝えよう!

質問者からの補足

紹介頂いたHPは読んだのですが、 うまく設定できませんでした。 理想的には外部入力で接続するのではなく、 予めFTPの設定(Host・ID・パス)をパラメータとして与え、 自動でファイルをアップデートできるような プログラムのサンプルが欲しいのです。 perlの知識はあまりなく、またこれ以降もperlに触れる 機会はないので、簡単にご指導頂ければ幸いです。

関連するQ&A

  • FTPのPUT、GETについて

    FTPのPUT、GETについてお教え下さい。現在サーバーの設定は完了し、DOS画面よりFTPでPUTを行っているのですが、送信先となるサーバーにファイルサイズがゼロのファイルが作成され、途中で止まった状態になってしまいます。GETも同様でサーバーからクライアントにファイルを取得はしているのですが、ファイルサイズがゼロのファイルが作成され止まった状態になってしまいます。また、他のサーバーでPUT、GETを行うとPUT、GET共にファイルの取得も送信も出来ます(クライアントは同じPCを使っています)。やはりサーバーの設定が足りないのでしょうか? どなたか対策方法をご存知の方がいましたらお教え下さい。よろしくお願い致します。

  • バッチファイルからiniファイルを読み込みftpを行いたい

     バッチファイルからftpを行い他のサーバにput(mput?)を行いたいのですが、idとパスワードを*.ini(名前は決めていません)から 取ってきたいのです。  どうすればいいのでしょうか?他のファイルを呼ぶにはcall分を使うと記述してあったのですが、*iniファイルでも大丈夫なのでしょうか?  dosコマンドとかWindws環境に弱いので教えてください。お願いします。

  • FTPコマンドで複数ファイルをアップロードする

    どうか、お力をお貸しください。 テキストファイルに命令文を書いて、それをFTPコマンドで実行しています。 以下、テキストに書いたものです。 これは1ファイル用ですが、これを実行するとhogeというディレクトリに『123.csv』がアップロードされます。 open IPアドレス ユーザー名 パスワード put C:/123.csv /hoge/123.csv close quit 私がやりたいのは、指定のディレクトリ内の全てのファイルを転送することです。 複数ファイルの転送は、mputコマンドを使う、ワイルドカードで同一拡張子のファイルを全て転送できる、確認のプロンプトを出さない仕掛けが必要 ・・らしいことは分かったのですが、上手くいきません。 以下のように書いてはみましたが、失敗しました。 ftp -i open IPアドレス ユーザー名 パスワード mput C:/*.csv /hoge/*.csv close quit mput以下、どのように記述すればよいのでしょうか? くだらない質問かもしれません、申し訳ありません。 どうかお力をお貸しください、宜しくお願い致します!

  • FTPサーバ FTPユーザ FTPパスワード

    質問です。 ID for weblifeを使用しています。 lolipopと契約しているのですが、ID for weblifeの入力画面で、FTPサーバ名、FTPユーザ名、FTPパスワード、サーバーディレクトリを入力する画面があるのですが、FTPサーバ名、FTPパスワードはlolipopで調べることが出来ましたが、ユーザ名をどうして見るのか解りません。 また、サーバーディレクトリも解りません。 どうしたらいいのか詳しい方教えて頂きたいです。ホームページがアップロード出来なくて困っています。 あまり詳しくないので、解りやすく教えて頂けたら幸いです。 宜しくお願い致します。

  • ftpの同時アップロード

    ICSのsocket関数群にて、Ftpのputをプログラミングしているのですが、同一ローカルファイルを複数の宛先へ同時送信する時 以下のエラーがでます。 ”426:426 Unable to open local file ローカルファイル名” 普通、リードするだけならファイルは何回でも開けると思いますが ftpは一方が送信中ならロックがかかるのでしょうか? そのあたりftpのプロパティの設定などあるのでしょうか? 何か問題などあればご教授頂けると幸いです。

  • NET::FTPモジュールでのFTP接続のセキュリティに関して。

    ローカルサーバ仕様:WIN98SE,Apache,Active Perl ローカルサーバ内にNET::FTPモジュールを使用し、 レンタルサーバに置いてあるデータを書きかえるようなCGIを作成したのですが、 1.ローカルサーバのプログラム内でFTPアカウント、パスワードが 丸裸で書かれている状態になっています。 2.レンタルサーバへFTP接続する通信の際にも、パスワードは丸裸で転送される ことになるのですよね?。 上記2点はセキュリティ上問題があると思うので、 解決法、アドバイスなど有ればお教えください。

    • ベストアンサー
    • Perl
  • ftp_putとftp_fput

    いつもお世話になっています。 GDを用いて作った画像をPHP内でそのままFTPで投げようと思っているのですが、php.netを見ていると、 ファイルをオープンしてアップロードするftp_fput、 ローカルファイルをそのままアップロードするftp_put どちらを使ってもよいのでしょうか。 気になるのは両者の使い分けですが、オープンして投げることによりどのようなメリットが発生するのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのftp_putについて

    はじめましてphp初心者です。 以下の内容を実行した際に うまく行かず困っています。 $ftp_server="【サーバー名】"; $ftp_user_name="【アカウント名】"; $ftp_user_pass="【パスワード】"; //サーバーに接続する $conn_id = ftp_connect($ftp_server); // ユーザ名とパスワードでログインする $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // 接続できたか確認する if ((!$conn_id) || (!$login_result)) { echo "FTP接続に失敗しました。"; exit; } else { echo "FTP接続に成功しました。"; } $local_file="【ローカルのファイルパス】"; $remote_file="【FTPサーバー上のアップロードファイルパス】"; if (!ftp_put($conn_id, $remote_file, $local_file, FTP_ASCII)) { echo "FTPアップロードに失敗しました。"; exit; } else { echo "FTPアップロードに成功しました。"; } ftp_close($conn_id); ローカル、リモート共にファイルの位置は間違っていません。 また以上のように反映させた際に返ってくる答えは 「FTP接続に成功しました。」 「FTPアップロードに成功しました。」 と出てきます。 しかし、ffftpを確認したところ サバー側に変化がありません。 手動ではffftpでアップ可能です。 ご教授お願い致します。

    • 締切済み
    • PHP
  • FTPでの連続アクセスについて

    UNIX C言語で作成したプログラムで、 以下のようにFTPコマンドを実行し(※)Linuxのサーバに置かれているファイルを取り込んでいます。 (※)system("ftp ~~ get XXX ~ bye"); プログラム内で上記FTPコマンドを1回実行すると、 Linuxサーバより指定したファイルをちゃんと取得できます。 しかし、間隔を空けずに連続して実行させると、 約3時間ほどで固まってしまう現象が発生します。(再現性100%) 上記現象が起こると、他のパソコンなどからそのサーバにTelnetやFtpで アクセスしても、ユーザ名・パスワードの入力までは進行するのですが、ログイン認証がいつまでも帰ってきません。 Linuxサーバから他サーバへのアクセス(Telnet,Ftp)は問題なくできました。 何が問題なのかよくわかりません。 上記のようにフリーズするまでは、何の問題もなく動いているのです。 ひとたびアクセスできなくなると、再起動しないと復旧しません。 どなたかご教授願いたく。

  • FTP繋がるのに更新が…

    最近新しいPC(win/xp)でトクトクのHPを更新しようとしたところ、HPビルダーV6に「ユーザー名かパスワードが違うぞ」といわれ、FTPから直接アップロードしようとしたら中止されて失敗してそのページが真っ白になっちまいました(htmlファイルをアップしたかった)。 FTPの接続には成功したので、パスワードが違うことはないと思うんですが…。接続するときのパスワードでアップロードも当然しますよね? ビルダーがxp対応でないのがいけないんでしょうか??サーバーが込んでるにしては長いこと不調なんですが …。何か解決策をご存知でしたら教えてください。お願いします!