![](/img/trans.png)
[英]C# (400) Bad Request response received when running code whereas URL works well on web browser
[英]URL works in Browser but not get response from web Client or Web Request
我有關於服務器響應的問題。 (返回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(" ", "");
responseFromServer = responseFromServer.Replace("&", "&");
reader.Close();
webclient.Dispose();
responseFromServer = GetStringsBetweenTags(responseFromServer, "<head>", "</head>");
return responseFromServer;
}
}
下載提琴手(http://www.fiddler2.com/fiddler2/)
然后導航到URL並查看標題。 然后查看應用程序發送的標頭。 您要發布帖子的網址清楚地預防某些請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.