WebClient
을 사용하여 일부 URL을 쿼리하려고합니다.원격 서버 (403) WebClient 사용 중 금지 된 오류
나는 루프를 통해 QueryString
값을 얻고 최종 URL을 만든 다음 클라이언트에 전달하는 컬렉션이 있습니다. 내가 처음으로 대한 응답을받을 경우
System.Net.WebException --> The remote server returned an error: (403) Forbidden.
: 그것은 루프 두 번째 시간에 갈 때
이 잘 실행됩니다 난생 처음
, 나는, 그러나, 적절한 응답을 얻을, 나는 오류가 발생합니다. 그럼 나는 나머지 컬렉션을 받아야한다.실마리가 있습니까? 내가 누락 될 수있는 것은 무엇입니까?
아래 코드는 제가 사용하고있는 코드입니다.
using(System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\sample.text")) {
foreach(var f in fileCollections) {
strFinalURL = string.Empty;
strFinalURL = "someURL" + f; // f can be considered as querystring param value
try {
using(var client = new WebClient()) {
test = client.DownloadString(strFinalURL);
if (!test.Contains("somecondition")) {
file.WriteLine("");
}
}
} catch (System.Exception ex) {
Console.WriteLine(ex.Message);
}
}
}
동일한 도메인의 모든 URL입니까? 403을 반환하는 URL은 브라우저를 통해 액세스 할 수 있습니까? –
@codingstill 예, 모든 URL은 동일한 도메인의 주소이며 브라우저를 통해 액세스 할 수 있습니다. – Amit
당신이 말한 것이 모두 맞다면 서버 조절이 부분을 담당하고있는 것 같습니다. 전략적으로 배치 된'Thread.Sleep'을 사용하여 약간 느리게하면 어떻게됩니까? – spender