2009-05-21 3 views
0

WebClient 클래스를 사용하여 웹 사이트에서 파일을 다운로드하고 몇 가지 질문을합니다.WebClient.DownloadFile URI에 HTML 문자가있는 404 오류가 있습니까?

  1. 은 URI는 URI 경로에있는 HTML 문자 (예 : http://foo.com/path1& path2.pdf) 내가 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에 있어야하는 경우 , 당신이 그들을 인코딩 URL로 할 것입니다 사용 HttpUtility.UrlEncode
  2. 당신은 할 수 없습니다
+0

@Randolpho을 -.. 난 당신이 내가 그들을 인코딩해야 말을하는지 이유를 모르겠어요 인코딩 된 문자가 원인이 무엇을 할 때 오류가 있습니까? – eft

+0

@eft : html 인코딩과 url 인코딩은 똑같지 않습니다. URL에 인코딩 된 URL로 인코딩해야합니다. 이제는 html로 디코딩됩니다. –

+0

@Frederik - 설명해 주셔서 감사합니다. – eft

관련 문제