//利用可能な場合は、UTF8を使用します。
//注意: いくつかのサーバーで、UTF8サポートを有効する前にユーザー認証を行う必要があります。
//その場合は、ftp1.Authenticate();への呼び出しの後に、以下のコードを呼び出す必要があります。
UseUTF8();
//ユーザーを認証します。
ftp1.Authenticate();
//CCCコマンドを送信します。
UseCCC();
public
void
UseUTF8()
//サーバーがUTF8エンコーディングをサポートしているかどうかを確認するためには、Featuresプロパティをチェックします。
if
(ftp1.Features.Utf8Encoding)
//サーバーがUTF8エンコーディングをサポートしている場合は、RFC2640で定義されているUTF8コマンドを送信します。
//Filezillaのようなサーバーでこのコマンドを明示的に設定する必要はありませんが、他のサーバー(例:IIS)で必要です。
Response Resp = ftp1.Send(
"OPTS UTF8 ON"
);
if
(Resp.Code < 299)
//OPTS UTF8 ONコマンドが成功した場合は、適切な接続エンコーディングを設定します。
ftp1.Encoding = System.Text.Encoding.UTF8;
public
void
UseCCC()
//CCCコマンドを送信します。
Response Resp = ftp1.Send(
"CCC"
);
//CCCコマンドが成功したかどうかを確認するために、応答をチェックします。
if
(Resp.Code < 299)
//コントロール接続のSSLレイヤーをシャットダウンします。このコマンドは、基になる暗号化なしTCP接続を開いたままに残します。
ftp1.Connection.ShutdownSsl();
'利用可能な場合は、UTF8を使用します。
'注意: いくつかのサーバーで、UTF8サポートを有効する前にユーザー認証を行う必要があります。
'その場合は、ftp1.Authenticate();への呼び出しの後に、以下のコードを呼び出す必要があります。
UseUTF8()
'ユーザーを認証します。
ftp1.Authenticate()
'CCCコマンドを送信します。
UseCCC()
End Sub
Public
Sub
UseUTF8()
'サーバーがUTF8エンコーディングをサポートしているかどうかを確認するためには、Featuresプロパティをチェックします。
If
ftp1.Features.Utf8Encoding
Then
'サーバーがUTF8エンコーディングをサポートしている場合は、RFC2640で定義されているUTF8コマンドを送信します。
'Filezillaのようなサーバーでこのコマンドを明示的に設定する必要はありませんが、他のサーバー(例:IIS)で必要です。
Dim
Resp
As
Response = ftp1.Send(
"OPTS UTF8 ON"
)
If
Resp.Code < 299
Then
'OPTS UTF8 ONコマンドが成功した場合は、適切な接続エンコーディングを設定します。
ftp1.Encoding = System.Text.Encoding.UTF8
End
If
End
If
End Sub
Public
Sub
UseCCC()
'CCCコマンドを送信します。
Dim
Resp
As
Response = ftp1.Send(
"CCC"
)
'CCCコマンドが成功したかどうかを確認するために、応答をチェックします。
If
Resp.Code < 299
Then
'コントロール接続のSSLレイヤーをシャットダウンします。このコマンドは、基になる暗号化なしTCP接続を開いたままに残します。
ftp1.Connection.ShutdownSsl()
End
If
End Sub