Amit Amit - 1 year ago 314
C# Question

Remote server (403) Forbidden error while using WebClient

I am trying to query some URL using


I have a collection which I loop through to get the
value, and build final URL, and then pass it on to client.

The very first time it gets executed well, I get proper response, however, when it goes in loop second time, I get the error:

System.Net.WebException --> The remote server returned an error: (403) Forbidden.

If I get response for very first time. Then I should get for rest of the collection too.

Any clue why? What I might be missing?

Below is the code snippet I am using.

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")) {
} catch (System.Exception ex) {

Answer Source

If everything you said is correct, then I suspect server throttling is playing a part. Try adding a Thread.Sleep in your loop to slow things down.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download