DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ftpReq.GetResponse()で「要求された URI は…」のエラー

環境/言語:[OS : Windows Vista / 言語 : Visual Basic .NET / .NET Framework : 3.5]
分類:[.NET]

2009/09/12(Sat) 00:23:54 編集(投稿者)

【解決したい問題】

こちらを参考にFTP接続を試しています。
http://dobon.net/vb/dotnet/internet/ftpwebrequest.html#listdirectory

しかし
=======================================================
'FtpWebResponseを取得
Dim ftpRes As System.Net.FtpWebResponse = _
CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)
========================================================
の行の

ftpReq.GetResponse()

にて「要求された URI はこの FTP コマンドに対して無効です。」
というエラーで止ってしまいます。

【解決するために何をしたか】

利用しているサーバーはcoreserver。
ホストネームは、s22.coreserver.jp ですので、

Dim ftpReq As System.Net.FtpWebRequest = _
CType(System.Net.WebRequest.Create("ftp://" & Host), System.Net.FtpWebRequest)

にてURIは、"ftp://s22.coreserver.jp"にしています。

試しにブラウザから、URIを入力すると IDとパスワードの 入力フォームが表示されます。
IDとパスワードを入力するとファイル一覧を表示させることができます。

それとURIの部分を new Uri("ftp://" & Host )としましたが同じエラーでした。

何が原因なのでしょうか?
No25298 のスレッドにも書いたのですが、まずはエラーの中身を確認してみてください。もしWebExceptionがスローされているならば、そのResponseプロパティのStatusDescriptionプロパティ等で原因が分かるかもしれません。
管理人様アドバイスありがとうございます。

ソースを参考にしたページと見直して1行抜けていたのに気がつきました。
'MethodにWebRequestMethods.Ftp.ListDirectoryDetails("LIST")を設定
ftpReq.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails

そのまま使わせて頂いたつもりでしたのにスミマセン。
お手数をおかけしました。

ソースは長くなったとしても載せるべきですね。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板