我正在嘗試使用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);
}
}
}
來自同一個域的所有網址是?返回403的URL是否可以通過瀏覽器訪問? –
@codingstill是的,所有的URL都來自同一個域,可以通過瀏覽器訪問 – Amit
如果你說的一切都是正確的,那麼我懷疑服務器節流是玩的一部分。如果你放慢策略性地放置一些'Thread.Sleep',會發生什麼? – spender