简体   繁体   English

URL在浏览器中工作,但不能从Web客户端或Web请求获得响应

[英]URL works in Browser but not get response from web Client or Web Request

I have an issue regarding response from server. 我有关于服务器响应的问题。 (returns 403 forbidden). (返回403禁止)。

When I am checking the same url in browser I can see the the page. 当我在浏览器中检查相同的URL时,我可以看到该页面。

I have written the below code for getting response. 我写了下面的代码来获得回复。

Same Code I am execute in my local PC, It works fine. 相同的代码我在我的本地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;

                    }

                }

Download Fiddler (http://www.fiddler2.com/fiddler2/) 下载提琴手(http://www.fiddler2.com/fiddler2/)

Then navigate to the URL and look at the headers. 然后导航到URL并查看标题。 Then look at the headers your application is sending. 然后查看应用程序发送的标头。 The URL you are POSTING to are clearly preventing certain requests. 您要发布帖子的网址清楚地预防某些请求。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM