問題タブ [webclient]
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.
c# - C#の例外-しかしプログラムはまだ機能します
これが何が起こっているのかです。WebClientを使用して存在するFTPでファイルを開いています。ファイルが存在し、関数は過去に機能していましたが、何らかの理由で例外がスローされます。(System.Net.WebException:リモートサーバーがエラーを返しました:(550)ファイルが利用できません(ファイルが見つからない、アクセスできないなど))。面白いことに、スクリプトはファイルを開き、本来の動作を実行します。誰かがこのようなことを聞いたことがありますか?
スタックトレースは次のとおりです。
c# - 複数の WebClients、時間の経過とともに weclints が機能しなくなる
初めてのポスター、長年の読者なので、気楽にやってください :)
多数のフォルダーを読み取り、各フォルダーの画像をダウンロードできるアプリケーションを作成しています。特定の画像を参照し、「選択したフォルダーにこの画像を使用する」ボタンをクリックできる WebBrowser コントロールがあります。
各「フォルダー」は、BackgroundWorker Thread 内で WebClient を使用する独自のダウンロード メソッドを持つオブジェクトとして表されます。
オブジェクトに画像の URL を設定すると、そのオブジェクトの backgroundworker が開始され、このコードが実行されます
また、アプリケーションのメイン スレッドで Web クライアントを使用して、簡単な html の「スクレイピング」を行っています。
さて、問題に。アプリの使用を開始すると、すべて問題なく、リストを確認するとファイルがダウンロードされますが、しばらくすると、Web クライアントがランダムに応答しなくなるようです。Web ブラウザー コントロール内をブラウズすることはできますが、すべての Web クライアント実行コードが完了していないようで、次の 2 行のいずれかでハングします。
これがまだかなり漠然としていることはわかっていますが、できる限り説明しようとしました。画像を Bitmap オブジェクトに直接ダウンロードするためのより堅牢な方法を誰かが持っているでしょうか? つまり、ファイルに保存してから再度開くのですか?
どんな助けでも大歓迎です。
c# - 非同期ダウンロード時のユーザー状態の設定
VS 2008 SP1
Web クライアントを使用して、いくつかのファイルを非同期でダウンロードしています。
ダウンロードするファイルが 5 つあります。
ただし、各ダウンロードを監視し、ユーザー状態をファイルの名前として設定したいので、ProgressCompletedEvent でユーザー状態をチェックして、どのファイルが完了したかを確認できますか?
彼は私がやろうとしていることの短いコードスニペットです。
c# - DownloadStringAysnc-進行状況を表示しません
VS 2008 SP1
DownloadStringAysncを使用しています。ただし、ProgressChangedイベントは、文字列がダウンロードされるまで進行状況を表示しません。
大きなファイルに含まれている文字列をダウンロードしようとしても。プログラムは応答のままなので、何かをしていることがわかります。ただし、progressChangedイベントが発生するのは、進行状況が完了したときです。
私はこれをprogressChangedとDownloadStringCompletedが次々に起動することとして知っていました。ただし、ファイルが非常に大きいため、一時停止する必要があります。
これは私が現在使用しているコードスニペットです。そして、以下の出力。奇妙なことに、e.progresspercentageは100%です。そして二度呼ばれるようです。
アドバイスをありがとう、
===========DownloadDataAysncを使用して編集===============
結果は同じです:
c# - C#Silverlight WebClientはレスポンスのコンテンツタイプを取得しますか?
応答の Content-Type を取得する方法、または WebClient を使用して Silverlight で送信要求の Content-Type を逆に設定する方法はありますか?
編集
http リクエストを作成し、進行状況を表示できるようにする必要があります。リクエストを作成するための機構を汎用モジュールにパッケージ化し、それをコードのあらゆる場所で使用したいと考えています。これは私がすでにやったことです。POSTでサーバーにさまざまなタイプのデータを送信するときに問題があるようです。サーバーにデータが何であるかを伝える方法がありません(json、xml、フォームエンコード、バイナリ)
リクエストで ?content-type=x を渡し、サーバーが Content-Type ヘッダーよりもそれを優先するように設定することで、これに対処できると思います。
また、サーバーがどのようなコンテンツで応答するかを知る方法もありません。リクエストを行うときに、期待されるタイプのデータを渡すことでこれを解決できると思います。
誰かがより良い解決策を持っている場合は、話してください:)
/編集
これが私の苦境です。HttpWebRequest/Response オブジェクトは、要求の進行状況を監視できる内部インターフェイスを実装します。大規模なリクエストを行う場合、ユーザーがダウンロード/アップロードのステータスを示すプログレス バーを確認できるようにすることが非常に重要です。
したがって、HttpWebRequest/Response を使用することはできません。WebClient だけを残していますが、奇妙な点がいくつかあります。
サブクラス化することはできません。実際には封印されていませんが、コンストラクターは [SecuritySafeCritical] とマークされています。これは、私が知る限り、派生クラスから呼び出すことができないことを意味します。少なくとも私は失敗し、Google で失敗した人を見つけましたが、この点で間違っていることが証明されて非常に嬉しく思います。
内部的には、抽象 Headers プロパティをオーバーライドしない BrowserHttpWebResponse を使用し、WebClient.ResponseHeaders は単に NotImplementedException をスローする m_Response.Headers に転送します。
Content-Type が ResponseHeaders に含まれているかどうかはわかりませんが、確認したいと思います。
Silverlight では、進捗情報または Content-Type 情報を保持するという不幸な選択をしているようですが、両方を保持することはできません。
ドキュメントによると、WebClient を使用して送信要求に Content-Type を設定する方法もないようです。Content-Type は、制限付きヘッダーとしてリストされています。私は実際にこれをテストしていません。
エラーが発生した場合、実際には応答オブジェクトが渡され、StatusCode、Content-Type などにアクセスできることに注意してください。
c# - 認証が必要な Silverlight および ATOM フィード
認証が必要な ATOM フィードにアクセスする必要がある単純なフィード リーダー アプリケーションを構築しています。私は WebClient クラスを使用するルートをたどっていましたが、存在するが実装されていない Credential プロパティを見つけました!
質問: Microsoft 以外のサイトから基本認証を必要とするフィードにアクセスするために、人々はどのような回避策を使用していますか?
c# - WebClient.DownloadString()を使用すると、ソースコードの「ダウンロード」中にアプリケーションがフリーズします。
アプリケーションにWebサイトのソースコードをダウンロードさせ、アプリケーションで取得する必要のある情報を除外しようとしています。
すべてが正常でダンディですが、アプリケーションがサイトのソースコードのダウンロードを完了するまで、UIがフリーズします。
私が助けを得ることができる場所があれば、これはその場所でなければなりません。:)
これが私を泣かせるコードです: