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

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

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

ソケット通信でプロキシを利用する方法


(過去ログ 5 を表示中)

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

■5419 / inTopicNo.1)  ソケット通信でプロキシを利用する方法
  
□投稿者/ まつ 二等兵(1回)-(2006/08/10(Thu) 20:10:38)

分類:[C#] 


分類:[C#] 

お世話になっております。
C#でプロキシを通したソケット通信したいのですが
どのようにすればよいのでしょうか?

ソケット通信でFTPサーバーに接続し、
LISTコマンドでファイルのリストを取得しようとしています。
下記のURLを参考にして、
プロキシを通す必要のないFTPサーバーへの接続&ファイルリスト取得処理は正常に出来ました。
http://members.jcom.home.ne.jp/1213687801/cs/general/ftp1.html

プロキシを通す必要があるFTPサーバーへの接続はどのようにしたら良いのでしょうか?
参考になるサイト等ありましたら教えてください。
よろしくお願いいたします。


0
引用返信 編集キー/
■5435 / inTopicNo.2)  Re[1]: ソケット通信でプロキシを利用する方法
□投稿者/ あきひろ 二等兵(2回)-(2006/08/11(Fri) 10:33:08)

分類:[C#] 

単に、proxyを利用したftpクライアントを作りたいだけならば、
FtpWebRequestを使うと簡単かもしれません(.Net Framework 2.0ですが)。

ソケット通信の学習の延長として知りたいというのであれば、そもそもftpプロキシとはどんなことをやってるかを理解するのが先なのかもしれません。理解できていないものを実装することは難しいのではないでしょうか。


0
引用返信 編集キー/
■5452 / inTopicNo.3)  Re[2]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(2回)-(2006/08/11(Fri) 18:31:46)

分類:[C#] 

No5435に返信(あきひろさんの記事)
> 単に、proxyを利用したftpクライアントを作りたいだけならば、
> FtpWebRequestを使うと簡単かもしれません(.Net Framework 2.0ですが)。
>
> ソケット通信の学習の延長として知りたいというのであれば、そもそもftpプロキシとはどんなことをやってるかを理解するのが先なのかもしれません。理解できていないものを実装することは難しいのではないでしょうか。

書き込みありがとうございます。
勉強不足で申し訳ありません。
FtpWebRequestでもFTPサーバー上のファイル一覧を取得する事が可能なのでしょうか?


0
引用返信 編集キー/
■5473 / inTopicNo.4)  Re[3]: ソケット通信でプロキシを利用する方法
□投稿者/ あきひろ 二等兵(3回)-(2006/08/14(Mon) 08:25:03)

分類:[C#] 

>FtpWebRequestでもFTPサーバー上のファイル一覧を取得する事が可能なのでしょうか?

それこそ、MSDN Libraryなりgoogleなりで調べれば分かると思いますよ。
キーワードは「FtpWebRequest」で十分なはずです。
そこから順に辿っていけば見つかるんじゃないかな。


0
引用返信 編集キー/
■5474 / inTopicNo.5)  Re[4]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(3回)-(2006/08/14(Mon) 11:41:08)

分類:[C#] 

No5473に返信(あきひろさんの記事)
> >FtpWebRequestでもFTPサーバー上のファイル一覧を取得する事が可能なのでしょうか?
>
> それこそ、MSDN Libraryなりgoogleなりで調べれば分かると思いますよ。
> キーワードは「FtpWebRequest」で十分なはずです。
> そこから順に辿っていけば見つかるんじゃないかな。

やっと見つけました・・。
ListDirectoryDetailsで取得できるんですね。
試してみようと思います。
ありがとうございました。


解決済み
引用返信 編集キー/
■5476 / inTopicNo.6)  Re[5]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(4回)-(2006/08/14(Mon) 14:00:45)

分類:[C#] 

> やっと見つけました・・。
> ListDirectoryDetailsで取得できるんですね。
> 試してみようと思います。
> ありがとうございました。

下記のような感じで試してみましたが、
System.Net.WebException: リモート サーバーがエラーを返しました: (500) 内部サーバー エラーです。
となってしまいました。
どんな原因が考えられますでしょうか?

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + ftp_server + download_dir);
IWebProxy proxy = new WebProxy(proxy_server);
request.Proxy = proxy;

request.Credentials = new NetworkCredential(ftp_user, ftp_pass);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

FtpWebResponse ftpResponse = (FtpWebResponse)request.GetResponse();

Stream ftpStream = ftpResponse.GetResponseStream();
StreamReader ftpStreamReader = new StreamReader(ftpStream, Encoding.GetEncoding("Shift_JIS"));

Console.WriteLine(ftpStreamReader.ReadToEnd());

ftpStreamReader.Close();
ftpStream.Close();

宜しくお願い致します。


0
引用返信 編集キー/
■5477 / inTopicNo.7)  Re[6]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(5回)-(2006/08/14(Mon) 14:04:17)

分類:[C#] 

プロキシを通さないで接続できるFTPサーバーへの接続&処理は正常に出来ました。
結果はHTML形式でしたが、そういうものなのでしょうか?
ファイル名やディレクトリ名だけを取得したい場合は、
HTMLタグを除去する処理を自前で容易する必要があるのでしょうか?


0
引用返信 編集キー/
■5479 / inTopicNo.8)  Re[7]: ソケット通信でプロキシを利用する方法
□投稿者/ ROY 二等兵(19回)-(2006/08/14(Mon) 22:52:43)

分類:[C#] 

// プロキシーに対する認証は必要ありませんか?
proxy.Credentials
  = new System.Net.NetworkCredential("ProxyID", "ProxyPWD");


0
引用返信 編集キー/
■5480 / inTopicNo.9)  Re[8]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(6回)-(2006/08/15(Tue) 09:16:28)

分類:[C#] 

No5479に返信(ROYさんの記事)
> // プロキシーに対する認証は必要ありませんか?
> proxy.Credentials
>   = new System.Net.NetworkCredential("ProxyID", "ProxyPWD");
>

社内のプロキシーなので認証は必要ありません。
宜しくお願い致します。


0
引用返信 編集キー/
■5504 / inTopicNo.10)  Re[9]: ソケット通信でプロキシを利用する方法
□投稿者/ さすけ 二等兵(9回)-(2006/08/15(Tue) 13:51:03)

分類:[C#] 

さすけです。

的外れだったらごめんなさい。

FtpWebRequestのFtpWebRequest.ProxyプロパティですがMSDNに

=========================================================================
FtpWebRequest クラスは、HTTP プロキシおよび ISA ファイアウォール
クライアント プロキシをサポートしています。
=========================================================================

とあります。

上記に該当しなければアウトなのかと思うのですが、いかがでしょうか?

以前、自分も同様の問題にあたったことがあり、その時は結局、
「FTP for .NET」というツールを採用し、FTPプロキシ経由での通信を
可能にしました。(時間が押し迫っていたのもありましたので)

No5480に返信(まつさんの記事)
> ■No5479に返信(ROYさんの記事)
>>// プロキシーに対する認証は必要ありませんか?
>>proxy.Credentials
>>  = new System.Net.NetworkCredential("ProxyID", "ProxyPWD");
>>
>
> 社内のプロキシーなので認証は必要ありません。
> 宜しくお願い致します。


0
引用返信 編集キー/
■5592 / inTopicNo.11)  Re[10]: ソケット通信でプロキシを利用する方法
□投稿者/ まつ 二等兵(7回)-(2006/08/17(Thu) 20:01:50)

分類:[C#] 

まつです。

なるほど。
proxyサーバを確認してみます。

ありがとうございました。

No5504に返信(さすけさんの記事)
> さすけです。
>
> 的外れだったらごめんなさい。
>
> FtpWebRequestのFtpWebRequest.ProxyプロパティですがMSDNに
>
> =========================================================================
> FtpWebRequest クラスは、HTTP プロキシおよび ISA ファイアウォール
> クライアント プロキシをサポートしています。
> =========================================================================
>
> とあります。
>
> 上記に該当しなければアウトなのかと思うのですが、いかがでしょうか?
>
> 以前、自分も同様の問題にあたったことがあり、その時は結局、
> 「FTP for .NET」というツールを採用し、FTPプロキシ経由での通信を
> 可能にしました。(時間が押し迫っていたのもありましたので)


0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -