問題タブ [ftpwebresponse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
670 参照

c# - 読み取り権限なしでファイルを FTP サーバーにアップロードする

FTP アカウントを使用して、バックアップの一部を別のサーバーにアップロードして保存したいと考えています。このアカウントには、攻撃者が私のバックアップを削除するのを防ぐために、読み取り権限のみ (書き込み権限はありません) があります。

そこで、完全なアクセス許可 (読み取りと書き込み) を使用してソリューションのコーディングを開始しました。これは私のコードがどのように見えるかです:(このコードは現在動作しています)

しかし、読み取り権限を削除すると、機能しなくなります。問題のあるコード行は次のとおりです。

エラーは次のとおりです。

System.dll で 'System.Net.WebException' 型の未処理の例外が発生しました

追加情報: リモート サーバーがエラーを返しました: (550) ファイルを利用できません (たとえば、ファイルが見つからない、アクセスできません)。

理論的には、読み取り権限なしでファイルをアップロードしても問題ないようです (FileZilla でも動作します)。実際には、それは私にとってはうまくいきません。誰かがこの場合の解決策を教えてもらえますか?

0 投票する
2 に答える
643 参照

c# - 偽の FtpWebResponse を作成する方法

統合テストのために FtpWebRequest.GetResponse() を偽造しようとしていますが、サーバーを使用していません。私がやろうとしているのは、単純に偽の FtpWebResponse を返すことですが、内部であるため、FtpWebResponse のコンストラクターにアクセスすることはできません。

これが私のコードです:

生産コード:

偽の FtpWebResponse を返すために使用しようとしている偽のテスト:

最後に、テストでアサーション用に偽の ftpWebResponse を返したいだけです。何か案は?ありがとう

0 投票する
2 に答える
2042 参照

c# - 国際文字を含む FTP ファイルを読み取る

以下のコードを使用して FTP ロケーション ファイルをダウンロードしています。ファイル名に国際文字が含まれている場合を除き、すべてのファイルで機能します。

これは許可されていないようなURI形式で学びましたが、言及された場所に既存のファイルがある場合、どのようにダウンロードできますか。

テストのために、以下のように IIS の下にローカル FTP サーバーをセットアップしました。

http://www.online-tech-tips.com/computer-tips/setup-ftp-server-in-windows-iis/

エラーが発生しています

リモート サーバーがエラーを返しました: (550) ファイルが利用できません (ファイルが見つからない、アクセスできないなど)。

ファイル使用不可エラー

以下は、問題のあるファイル名を持つ私の FTP ルート フォルダーです。diá.png

ここに画像の説明を入力

コーディングには C# を使用し、開発には Visual Studio 2013 を使用しています。何がうまくいかないのか、誰かが助けることができます。

質問への更新: UTF8 へのエンコーディングの変更。ローカル ホストを使用すると、すべて正常に動作します。ただし、ドイツやスウェーデンなどの国際ドメインから FTP サーバーを使用する場合。名前は以下のように読みます。

以下の行でエラーが発生しています。

ファイル名の 16 進値: Martin によるインクルードの提案。ありがとう 31,30,31,33,36,2D,49,43,4F,4D,20,50,4A,C4,54,54,45,52,59,44,20,70,69,63,74,20,37‌​,38,78,31,31,38,20,61,6E,6E,69,2D,76,65,72,73,61,72,69,75,73,20,5B,77,31,33,32,31‌​,20,78,20,68,39,32,31,5D,20,6D,6D,20,44,49,46,46,55,53,45,2E,50,4E,47,

0 投票する
4 に答える
209 参照

c# - 同じクラスの異なる例外を区別する方法は?

例外が同じクラスからのものである場合、それがログイン情報例外であるか、接続が失われた例外であるかを確認する方法は?

0 投票する
2 に答える
519 参照

c# - WebRequestMethods.Ftp.ListDirectory の結果は 2000 エントリに制限されています

を FTP サーバーに送信しListDirectoryますが、FTP からのみ最初の 2000 項目を返します。SSL を追加しても、それ以上の結果は返されませんでした。

完全な結果を得るために使用する必要がある別のライブラリはありますか?

0 投票する
0 に答える
319 参照

azure - Azure VM または Azure WebJob から FTP ファイルを読み取る

FTPサーバーからCSVファイルを読み取り、検証後にレコードをデータベースにダンプするコンソール アプリケーションを作成しました。

ローカル マシンからコードを試したところ、完全に機能しました。エラーもバグもありません。しかし、それをスケジュールするために Azure Virtual Machine に配置したとき。または、スケジュール ジョブを作成するために Azure Web ジョブを作成すると、ファイルへのアクセス中に次のエラーが発生します。

リモート サーバーがエラーを返しました: (500) 構文エラー、認識できないコマンド。System.Net.FtpWebRequest.SyncRequestCallback(Object obj) で System.Net.FtpWebRequest.RequestCallback(Object obj) で System.Net.CommandStream.Dispose(Boolean disposing) で System.IO.Stream.Close() で System.IO .Stream.Dispose() で System.Net.ConnectionPool.Destroy(PooledStream pooledStream) で System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse) で System.Net.FtpWebRequest.FinishRequestStage(RequestStage ステージ) ) System.Net.FtpWebRequest.GetResponse() at Bethesda_DataUpload.Program.Main(String[] args) in D:\Projects\Program.cs:line 35

次のコードを使用してFTPサーバーに接続しています

KeepAliveUsePassiveのすべての組み合わせを試しました

組み合わせ 1

組み合わせ 2

組み合わせ 3

組み合わせ 4

どのコードを使用すればよいですか?