2013-01-17 25 views
1

我有关于服务器响应的问题。 (返回403禁止)。URL在浏览器中工作,但无法从Web客户端或Web请求获得响应

当我在浏览器中检查相同的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; 

        } 

       } 
+1

请求的代码在哪里? – Diginari

+0

您可以使用安装的浏览器导航到服务器上的网站吗? – Sean

+0

是的,在IE-9和Firefox浏览网址,两者都正常工作。 –

回答

4

下载Fiddler(http://www.fiddler2.com/fiddler2/)

然后导航到URL,并期待在头。然后查看应用程序发送的标题。您的网址为,发送显然会阻止某些请求。

相关问题