WebClient.DownloadString(url)を使用してWebページをダウンロードしていますが、url 404 Webページが停止してもう動作しません。 このエラーが発生したときに、これらのページをスキップします。WebClient.DownloadString(url)このURLが404ページを返すとき、どうすればこのページをスキップできますか?
URLが404ページの場合、ダウンロードを開始しません。だから私はアンロードされたデータを解析できません...
WebClient.DownloadString(url)を使用してWebページをダウンロードしていますが、url 404 Webページが停止してもう動作しません。 このエラーが発生したときに、これらのページをスキップします。WebClient.DownloadString(url)このURLが404ページを返すとき、どうすればこのページをスキップできますか?
URLが404ページの場合、ダウンロードを開始しません。だから私はアンロードされたデータを解析できません...
あなたは404の例外とテストをキャッチする必要があります。
try
{
string myString;
using (WebClient wc = new WebClient())
myString= wc.DownloadString("http://foo.com");
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null)
{
var resp = (HttpWebResponse)ex.Response;
if (resp.StatusCode == HttpStatusCode.NotFound) // HTTP 404
{
//the page was not found, continue with next in the for loop
continue;
}
}
//throw any other exception - this should not occur
throw;
}
私は私のプロジェクトでこの答えを試しました。 404でエラーが発生するとクラッシュします。スローを取り除くだけですか?またはそれに近づくよりエレガントな方法があります。 – Decoder94
あなたのコードをTry...Catch
ブロックに置き、WebExceptionをキャッチすることができます。特定のエラーを処理する方法をさらに制御したい場合は、WebExceptionのStatus
プロパティを使用してWebExceptionStatus列挙型を返すことができます。
「のC#」などを使用してタイトルを接頭辞ないでください。それがタグのためのものです。 –