C# URL在浏览器中工作,但无法从web客户端或web请求获取响应

C# URL在浏览器中工作,但无法从web客户端或web请求获取响应,c#,winforms,httpwebrequest,webrequest,webresponse,C#,Winforms,Httpwebrequest,Webrequest,Webresponse,我对服务器的响应有问题。(返回403禁止) 当我在浏览器中检查相同的url时,我可以看到页面 我已经编写了下面的代码来获得响应 和我在本地PC上执行的代码一样,工作正常 HttpWebRequest request = WebRequest.Create(RequestUrl) as HttpWebRequest; request.Method = "POST"; request.CookieContainer = new Coo

我对服务器的响应有问题。(返回403禁止)

当我在浏览器中检查相同的url时,我可以看到页面

我已经编写了下面的代码来获得响应

和我在本地PC上执行的代码一样,工作正常

 HttpWebRequest request = WebRequest.Create(RequestUrl) as HttpWebRequest;
                request.Method = "POST";
                request.CookieContainer = new CookieContainer();
                request.Timeout = 600000;
                request.Accept = "*/*";
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0";

WebResponse response;
                try
                {
                    response = request.GetResponse();
                    string StatusDescription = ((HttpWebResponse)response).StatusDescription;

                    if (StatusDescription.ToLower() == "ok")
                    {
                        Stream dataStream = response.GetResponseStream();
                        //XmlDocument XmlResponse = new XmlDocument();
                        //XmlResponse.Load(dataStream);            
                        //XmlResponse.Save(Server.MapPath("~/XMLResponse.xml"));
                        StreamReader reader = new StreamReader(dataStream);
                        string responseFromServer = reader.ReadToEnd();
                        responseFromServer = responseFromServer.Replace(" ", "");
                        responseFromServer = responseFromServer.Replace("&", "&");
                        reader.Close();
                        dataStream.Dispose();
                        response.Close();
                        responseFromServer = GetStringsBetweenTags(responseFromServer, "<head>", "</head>");
                        return responseFromServer;
                    }
                    else
                    {
                        //To Do : add code for notify error via email
                    }
                }
                catch (Exception ex)
                {                   
                    WebClient webclient = new WebClient();
                    using (StreamReader reader = new StreamReader(webclient.OpenRead(RequestUrl)))
                    {
                        string responseFromServer = reader.ReadToEnd();
                        responseFromServer = responseFromServer.Replace("&nbsp;", "");
                        responseFromServer = responseFromServer.Replace("&", "&amp;");
                        reader.Close();
                        webclient.Dispose();
                        responseFromServer = GetStringsBetweenTags(responseFromServer, "<head>", "</head>");
                        return responseFromServer;

                    }

                }
HttpWebRequest-request=WebRequest.Create(RequestUrl)为HttpWebRequest;
request.Method=“POST”;
request.CookieContainer=新的CookieContainer();
请求超时=600000;
request.Accept=“*/*”;
request.UserAgent=“Mozilla/5.0(Windows NT 6.1;rv:18.0)Gecko/20100101 Firefox/18.0”;
网络响应;
尝试
{
response=request.GetResponse();
字符串StatusDescription=((HttpWebResponse)response).StatusDescription;
if(StatusDescription.ToLower()=“ok”)
{
Stream dataStream=response.GetResponseStream();
//XmlDocument XmlResponse=新的XmlDocument();
//加载(数据流);
//Save(Server.MapPath(“~/XmlResponse.xml”);
StreamReader=新的StreamReader(数据流);
字符串responseFromServer=reader.ReadToEnd();
responseFromServer=responseFromServer.Replace(“,”);
responseFromServer=responseFromServer.Replace(“&”、“&;”);
reader.Close();
Dispose();
response.Close();
responseFromServer=GetStringsBetweentTags(responseFromServer,“,”);
返回responseFromServer;
}
其他的
{
//要做的事情:添加通过电子邮件通知错误的代码
}
}
捕获(例外情况除外)
{                   
WebClient WebClient=新的WebClient();
使用(StreamReader=newstreamreader(webclient.OpenRead(RequestUrl)))
{
字符串responseFromServer=reader.ReadToEnd();
responseFromServer=responseFromServer.Replace(“,”);
responseFromServer=responseFromServer.Replace(“&”、“&;”);
reader.Close();
webclient.Dispose();
responseFromServer=GetStringsBetweentTags(responseFromServer,“,”);
返回responseFromServer;
}
}
下载小提琴手(http://www.fiddler2.com/fiddler2/)


然后导航到URL并查看标题。然后查看应用程序正在发送的标题。您发布到的URL显然阻止了某些请求。

请求的代码在哪里?您可以使用服务器上安装的任何浏览器导航到该站点吗?是的,在IE-9和Firefox中导航URL,两者都工作正常。@JamieTownsend添加了请求代码。