FTPサーバ(IIS)のファイルをwgetで取得できない原因と解決方法

このQ&Aのポイント
  • FTPサーバ(IIS)のファイルをwgetで取得することができない原因と解決方法について説明します。
  • FTPサーバ(IIS)のファイルをwgetで取得する方法や使用するコマンドについて詳しく解説します。
  • FTPサーバ(IIS)のファイルをwgetで取得する際に発生するエラーの対処方法を説明します。
回答を見る
  • ベストアンサー

FTPサーバ(IIS)のファイルをwgetで取得することができません。

FTPサーバ(IIS)のファイルをwgetで取得することができません。 ※IISの既定のFTPサイト(通常C:\Inetpub\ftproot)直下にftpuser1 というフォルダを作成しておくと、このFTPサイトに ftpuser1でログオンした際、 カレント・フォルダが「/ftpuser1」となります。 1.DOS窓から次のコマンドを入力します。 d:\wget\wget.exe ftp://○.○.○.○/ftpuser1/test.txt --debug --append-output=d:\wget\log.txt --tries=3 --wait=60 --directory-prefix=d:\wget\test --ftp-user=ftpuser1 --ftp-password=ftpuser1 2.失敗したのでログを確認します。 「ftp://○.○.○.○/ftpuser1/」にあるファイルを取得したいのですが、 「ftp://○.○.○.○/ftpuser1/ftpuser1/」を参照しに行ってました。 ↓ログ Logging in as ftpuser1 ... 220 Microsoft FTP Service --> USER ftpuser1 331 Password required for ftpuser1. --> PASS ftpuser1 230 User ftpuser1 logged in. Logged in! ==> SYST ... --> SYST 215 Windows_NT done. ==> PWD ... --> PWD 257 "/ftpuser1" is current directory. done. ==> TYPE I ... --> TYPE I 200 Type set to I. done. changing working directory Prepended initial PWD to relative path: pwd: '/ftpuser1' old: 'ftpuser1' new: '/ftpuser1/ftpuser1' ==> CWD /ftpuser1/ftpuser1 ... --> CWD /ftpuser1/ftpuser1 550 /ftpuser1/ftpuser1: The system cannot find the file specified. No such directory `ftpuser1'. Closed fd 908 ちなみにフォルダ「ftp://○.○.○.○/ftpuser1/ftpuser1/」を作成したところ、 ファイルは取得できました。 なぜ「ftp://○.○.○.○/ftpuser1/ftpuser1/」を参照しに行くのか分かりません。 原因等分かりましたらご教授お願いします。 環境 ・接続先FTPサーバ  Windows Server 2003 R2  IIS 6.0 ・接続元  Windows 2000  wget 1.11.4

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

ftp://○.○.○.○/ というのは、ftpログインに使ったユーザのホームディレクトリです。

daifucream
質問者

お礼

notnot様 そういうことだったんですね。 次のコマンドで問題なくファイルを取得できました。 d:\wget\wget.exe ftp://○.○.○.○/test.txt --debug --append-output=d:\wget\log.txt --tries=3 --wait=60 --directory-prefix=d:\wget\test --ftp-user=ftpuser1 --ftp-password=ftpuser1 ありがとうございました。

関連するQ&A

  • wget でのファイル取得

    FTPサーバから、ファイルを取ってこなければならなくなったのですが、サーバ上のファイル名に「日本語」がついています。 Windows の FFFTP では、普通に日本語のファイル名が表示されています。サーバはWindowsのようです。 [xxxxx@xxxxxx Aug]$ ftp ftp.foo.co.jp Connected to ftp.foo.co.jp. 220 Microsoft FTP Service <SNIP!> Name (ftp.foo.co.jp:username): username 331 Password required for username. Password: 230 User username logged in. Remote system type is Windows_NT. ftp> というような表示です。 で、ダウンロードするファイルが多い(10GBのオーダー)なので、wgetで一気に取得しようとしたのですが、うまく取得できません。 ダウンロードするホストのOSはCentOSで日本語が表示されている(LANG=ja_JP.UTF-8)状態です。 ここで wget --no-passive-ftp -nH -np -r ftp://username:password@ftp.foo.co.jp/ と実行すると、index.htmlが生成され、ファイルはダウンロードされません。ファイルはそのまま見ると文字化けするのですが、lvでUTF8に変換するとディレクトリ名などが正常に確認できます。 なぜ、ファイルがダウンロードされないのでしょうか?

  • IISのFTPサーバ設定に関して

    IIS7.0の質問です (1)IISでFTPサイトを作りました (2)IISマネージャーのアクセス許可で ユーザー名パスワードを設定しました しかし、外部からアクセスしようとすると、 ユーザー名、パスワードを問われるので、 設定したとおりに入力すると、 530 User cannot log in と 表示されます。 どうか助けてください。

  • NFSサーバーのファイルを取得する

    今、RedHat9でNFSサーバーを立ち上げました。 /etc/exportsにアクセスできるディレクトリ指定をしました。 テストのため、クライアントを同一PCとしています。 取得したいファイルを得る場合はどのようにしたらいいのでしょうか? wgetコマンドを用いてサーバーのアドレスを指定して取得したいファイルを指定する? (/etc/exports) /home/user1 クライアント側のIPアドレス(rw) 取得したいファイルがもし、 /home/user1/sample/get_1.txt の場合、 wget ftp://NFSサーバーIPアドレス/取得したいファイルのディレクトリパス 格納先 どのようにして取得したいファイルおよび格納先していを行うのかわかりません。 よろしくお願い致します。

  • FTPによるファイル取得について

    一定の間隔であるサーバに接続し、画像ファイルを取得するプログラムを作成しています。 C言語で作成されたプログラムより、以下のようなシェルを実行し、画像ファイルを取得することを考えています。 ----------------------------- #!/bin/sh ftp -in <<EOL open 接続先IPアドレス user ユーザ名 パスワード lcd ローカルのディレクトリ cd リモートのディレクトリ mget data[ABC]_${d}.tar.gz quit EOL ----------------------------- ここで、以下のような問題に悩んでいます。 1.上記シェルを実行し、まさにFTPを行っているとき、LAN断などにより遠隔サーバとの接続が切れたときに、だんまり状態となってしまう。 2.FTPが成功した場合、取得したファイルの正当性が保証されるのか?せめてファイルサイズチェックだけでも行いたいが、FTP実行前にファイルのサイズが取得できるか?

  • IISのFTPについて

    環境は WIN2000Server IIS5.0 です 既にIISの設定を行い、FTPサーバとして使用しています。そこで質問ですが、ある特定のユーザからの接続だけは、使用するフォルダを変更する場合は、FTP設定を新規作成し、 接続ユーザを限定してあげるだけでいいのでしょうか? 新規作成しても、ある特定のユーザ以外は、元のフォルダを使用となりますか? 簡単な質問で申し訳ありませんが、どなたかご教授下さい。宜しくお願い致します。

  • 【IIS】FTP接続エラーについて

    自宅にて Windows2003Server にて、FTPサーバーを使用しておりましたが、ある日を堺に クライアント側から接続ができなくなりました。 環境的には [FTPサーバー]  OS:Windows2003Server  FTP:IIS 6.0  ※ファイアウォール機能は未導入 [クライアントPC]  OS:WindowsXP SP2  ※FFFTPを使用し接続テスト エラーの詳細は 〔現象〕 FFFTP接続時エラー ------------------------------------------------------------------------------- ホスト 111.111.111.111 (21) に接続しています. 接続しました. 220 Microsoft FTP Service >USER test 331 Password required for ftpuser2. >PASS [xxxxxx] 230 User ftpuser2 logged in. >XPWD 257 "/" is current directory. >TYPE A 200 Type set to A. >PASV 227 Entering Passive Mode (192,168,1,100,6,243). ダウンロードのためにホスト 192.168.1.100 (1779) に接続しています. 接続しました. >NLST -alL 426 Connection closed; transfer aborted. コマンドが受け付けられません. ファイル一覧の取得を中止しました. ファイル一覧の取得に失敗しました. ブラウザ上のエラー ------------------------------------------------------------------------------- FTPサーバーのフォルダを開こうとしてエラーが発生しました。このフォルダへのアクセスが許可されているかどうかを確認してください。 詳細: 200 Type set to A. 227 Entering Passive Mode (192,168,1,100,14,38). 426 Connection closed; transfer aborted. エラーは上記のとおりです。 今まで使用できていて突然エラーが出てきたため、 現在困り果てております・・。 何か良い対応方法はないでしょうか? 尚、IEのバージョンによって繋がるものと繋がらないものがあり、少し前のバージョンではブラウザ上では繋がりました。

  • FTPサーバーから受信したファイル一覧からファイル名だけを取得したいです

    こんばんは。いつもお世話になっております。 VB.NET+WinXPなのですが、 FTPサーバーにログインして、 LISTコマンドでファイル一覧を要求すると 「drwxrwxr-x 2 53 53 4096 Feb 28 2006 abc」 などというファイルやフォルダの一覧がかえって来ると思うのですが、 この中からファイル名やフォルダ名だけを取得するには どうしたらよいでしょうか。 TABやコンマが入っていないので、文字列関数で切り取るにも 区切りがわからないと思うのです。 ローカルドライブのDir関数なら、FileAttribute.Nomalや.Directoryの指定でファイル名だけや ディレクトリー名だけを指定して 取得することが出来るのですが、FTPサーバーの場合からの場合はどういった方法があるでしょうか。 参考程度でも構いませんので教えて頂けるとたすかります。m(__)m

  • IISによるFTPサーバ構築の方法

    Windows2000Server(IIS含)をインストールしたパソコンが家にあります。ADSL環境で、ルータを噛ましています。 現在、IISによりWebサーバを構築しています。ルータのバーチャルサーバ機能で、80番ポートを2000サーバのMACアドレスに振るようにしています。 今回、外出先から家のファイルにアクセスできるようにFTPサーバを構築することにしました。 そこでWWWと同様、ルータのバーチャルサーバ機能で21番を2000サーバに振る設定をしました。IISの方は、よくわからないまま適当に設定しましたが、ダイヤルアップで接続した別のパソコンからURLに「ftp://パソコンのグローバルアドレス」を入力したところ「フォルダにアクセス権がない」とのメッセージが出ました。 FTPサイトの設定方法が間違っているのでしょうか? ご存知のかた、FTPの正しい設定方法を教えてください。 よろしくお願いいたします。

  • FTPの操作をbatファイル化したいです!

    windowsXP上から、UNIXのサーバーに対して、コマンドプロントを使用し、以下のようなコマンドを打ちたいのですが、毎回この作業をするのは大変なので、以下のコマンドをbatファイル化したいのですが、どのようにすればいいかわかりません。 参考になるようなサイトもいくつか見たのですが、いまいちわからないので、このサイトを参考にして下さいとの回答ではなく、ずばりbatファイルにどのように書けばいいのか教えてください。 お願いします。 C:\Documents and Settings\name>ftp ftp> open 10.1.1.1 Connected to 10.1.1.1. 220 ProFTPD 1.2.2 Server (ProFTPD) [tdc01s] User (10.1.1.1:(none)): loginname 331 Password required for loginname. Password: 230 User loginname logged in. ftp> cd .. 250 CWD command successful. ftp> cd .. 250 CWD command successful. ftp> cd tmp 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 4 bytes sent in 0.00Seconds 4000.00Kbytes/sec. ftp> bye 221 Goodbye.

  • シェルでftp接続によるファイル取得について

    以下のようなシェルスクリプトを作成しましたが、 (file-name) get: No such file or directory (file-name) done: No such file or directory のエラーメッセージが出てしまい、うまくいきません。 OSはLinux(FedoraCore4)です。 どうやらファイル名の取得がうまくいかず、エラーになっている 様です。 試しに直接ファイル名を指定して書くと、無事ファイルを 取得できます。 エラーの原因がお分かりになる方、どうぞ宜しくお願い致します。 ----------------------------------------------- #!/bin/sh cd /local_test/log/ ftp -n xxx.xxx.xxx.xxx<< _EOF user test_user test_pass cd /test/log/ ascii prompt for i in *.log do chmod u+r $i get $i chmod u-r $i done bye _EOF exit 0 -----------------------------------------------

専門家に質問してみよう