C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: FtpWebRequestでのFTP接続につい


(過去ログ 46 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■24740 / inTopicNo.1)  FtpWebRequestでのFTP接続について
  
□投稿者/ junn (1回)-(2008/09/09(Tue) 02:21:06)

分類:[C#] 

現在行き詰っております。。
皆様のお力をお貸しいただけないでしょうか

[ソース]
-------------------------------------------------------
string hostname = "ftp://example.co.jp/";
string userid = "username";
string password = "password";
Uri uri = new Uri(hostname);

System.Net.FtpWebRequest ftpReq;
ftpReq = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(uri);

ftpReq.Credentials = new System.Net.NetworkCredential(userid, password);
ftpReq.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails;
ftpReq.KeepAlive = false;
ftpReq.UsePassive = false;

//FtpWebResponseを取得
System.Net.FtpWebResponse ftpRes;
try
{
ftpRes = (System.Net.FtpWebResponse)ftpReq.GetResponse();
}
catch(WebException e)
{
MessageBox.Show(e.Message);
}
------------------------------------------------------------

[環境]
WinXP
VC# 2005 Express Edition

[問題点]
例外処理でメッセージボックスに 「リモート サーバーに接続できません。」(全文)と出力されます。
他にいくつか別のホストで試した場合にも全て同じエラーが表示されています。

[その他/気になる点]
・コマンドラインからはFTP接続可能でした。
・他FTPクライアントからもFTP接続可能でした。
・VC# をWebインストールで入れる際にサーバーと接続を確立できなかったというエラーが起こりインストールできませんでした。(書籍の添付CDでインストールしました)

[質問項目]
1.より詳細なエラーを確認する方法はないでしょうか。
2.上記エラーメッセージから考えられる原因について教えていただきたいです。


以上、宜しくお願い致します。


引用返信 編集キー/
■24746 / inTopicNo.2)  Re[1]: FtpWebRequestでのFTP接続について
□投稿者/ こあら (20回)-(2008/09/09(Tue) 10:18:42)
> 1.より詳細なエラーを確認する方法はないでしょうか。

tryを外して実行するとか、WebException e の Message 以外のプロパティを調べるとか、かな?


> 2.上記エラーメッセージから考えられる原因について教えていただきたいです。

全然分からないのですが、何となく、ftpReq.UsePassive = false; が気になります。

引用返信 編集キー/
■24763 / inTopicNo.3)  Re[2]: FtpWebRequestでのFTP接続について
□投稿者/ 泥グラマ (5回)-(2008/09/09(Tue) 12:46:18)
私なんかが書くのも生意気ですけど、同じことで悩んだころがあります。

>他にいくつか別のホストで試した場合にも全て同じエラーが表示されています。

私の場合いくつかのホストで連荘してみてエラーが起きて困っていたのですが原因は
エラーでcatchされたときにftpReqを破棄していなかったので
エラーが起き続けました…
finallyできちんとftpReqを破棄したら複数ホストでまわしても動きました・・・

引用返信 編集キー/
■24771 / inTopicNo.4)  Re[2]: FtpWebRequestでのFTP接続について
□投稿者/ たくボン (20回)-(2008/09/09(Tue) 13:34:37)
No24746 (こあら さん) に返信
>>1.より詳細なエラーを確認する方法はないでしょうか。
> 全然分からないのですが、何となく、ftpReq.UsePassive = false; が気になります。
同じく、PASIV絡みっぽい気もしますねぇ。
接続できているFTPクライアントでPASIVモードを確認した方が良いかも。
引用返信 編集キー/
■24796 / inTopicNo.5)  Re[3]: FtpWebRequestでのFTP接続につい
□投稿者/ junn (2回)-(2008/09/10(Wed) 01:25:26)
2008/09/10(Wed) 01:28:46 編集(投稿者)
2008/09/10(Wed) 01:28:32 編集(投稿者)
2008/09/10(Wed) 01:28:20 編集(投稿者)

こあら さん

> tryを外して実行するとか、WebException e の Message 以外のプロパティを調べるとか、かな?
> 全然分からないのですが、何となく、ftpReq.UsePassive = false; が気になります。

ご返信ありがとうございます。
true に変更や指定なしでもうまく行きませんでした。

Message以外のプロパティを調べるについて参考にさせていただきます。

泥グラマ さん
> 私の場合いくつかのホストで連荘してみてエラーが起きて困っていたのですが原因は
> エラーでcatchされたときにftpReqを破棄していなかったので
> エラーが起き続けました…
> finallyできちんとftpReqを破棄したら複数ホストでまわしても動きました・・・

この件について

現段階でデバッグモードで実行しているんですが
デバッグ実行 > 終了する > 再度デバッグ実行
を行うとオブジェクトの破棄ができずに発生するという解釈でよろしかったでしょうか

また、時間ができれば確認してみたいと思います。

たくボン さん

> 同じく、PASIV絡みっぽい気もしますねぇ。
> 接続できているFTPクライアントでPASIVモードを確認した方が良いかも。

他のFTPクライアントではどちらでも接続可能なことを確認できましたので問題なさそうでした。




依然としてこの件について解決に至ってないのですが
納期の都合上、あまり時間が掛けられない状態です。

従いまして今回の件について解決は保留して
別クラス(※)を利用して実装することにしました。

※ ちなみにSystem.Net.SoketsのTcpClientクラスです。

短い間に多くの返答をいただき非常に助かりました。

教えていただきありがとうございました。

引用返信 編集キー/
■24797 / inTopicNo.6)  Re[3]: FtpWebRequestでのFTP接続について
□投稿者/ junn (3回)-(2008/09/10(Wed) 01:28:58)
こあら さん

> tryを外して実行するとか、WebException e の Message 以外のプロパティを調べるとか、かな?
> 全然分からないのですが、何となく、ftpReq.UsePassive = false; が気になります。

ご返信ありがとうございます。
true に変更や指定なしでもうまく行きませんでした。

Message以外のプロパティを調べるについて参考にさせていただきます。

泥グラマ さん
> 私の場合いくつかのホストで連荘してみてエラーが起きて困っていたのですが原因は
> エラーでcatchされたときにftpReqを破棄していなかったので
> エラーが起き続けました…
> finallyできちんとftpReqを破棄したら複数ホストでまわしても動きました・・・

この件について

現段階でデバッグモードで実行しているんですが
デバッグ実行 > 終了する > 再度デバッグ実行
を行うとオブジェクトの破棄ができずに発生するという解釈でよろしかったでしょうか

また、時間ができれば確認してみたいと思います。

たくボン さん

> 同じく、PASIV絡みっぽい気もしますねぇ。
> 接続できているFTPクライアントでPASIVモードを確認した方が良いかも。

他のFTPクライアントではどちらでも接続可能なことを確認できましたので問題なさそうでした。




依然としてこの件について解決に至ってないのですが
納期の都合上、あまり時間が掛けられない状態です。

従いまして今回の件について解決は保留して
別クラスを利用して実装することにしました。


短い間に多くの返答をいただき非常に助かりました。

教えていただきありがとうございました。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -