2009-05-21 8 views
0

WebClientクラスを使用してWebサイトからファイルをダウンロードし、いくつかの質問があります。WebClient.DownloadFile URIにHTML文字を含む404エラー?

URIはURIパス(例えば http://foo.com/path1 & path2.pdf)にHTML文字を持っている
  1. 私は404(見つかりません)エラーが発生します。どうすればこれを防ぐことができますか? HTML文字は安全だと思いましたか?

  2. URIがディレクトリ(例:http://foo.com/path)を表すときは、403(禁止された)エラーが発生します。私はこれがなぜ起こっているのか理解していますが、URIをテストしてインデックスページのないディレクトリを表すかどうかを調べるにはどうすればよいでしょうか。

答えて

2
  1. HTMLエンコードされた文字は、URLのために安全ではありません。 URLエンコードする必要があります。データがHTMLでエンコードされている場合は、適切な形式のURL(foo.com/page?foo=1&bar=2)にアクセスするには、HttpUtility.HtmlDecodeを使用することをおすすめします.URLのクエリ部分に含まれないアンパサンド、あなたはそれらをコードするURLにしたいよあなたがすることはできませんHttpUtility.UrlEncode
  2. を使用
+0

@Randolpho - 。。あなたはエンコードされた文字を引き起こしているものです時に、私はそれらをエンコードする必要があると言っている理由私はわからないんだけど最初のエラーは? – eft

+0

@eft:htmlエンコーディングとURLエンコーディングは同じではなく、あなたのキャラクタをURL用にエンコードして、今度はhtmlデコードされた状態にします。 –

+0

@Frederik - – eft

関連する問題