C# 当页面存在时,HttpWebResponse返回404错误
我正在尝试编写一个小型桌面应用程序,通过API监控网站。我从来没有对API或WebRequests做过太多的工作,所以我不确定如何处理这个错误。生成请求后,我尝试从页面获取响应,但这会返回404错误,即使我在浏览器中导航到相同的URL也可以正常工作。我不知道如何解决这个问题,我对有同样问题的人所做的研究也没有帮助我理解这个问题。有人能向我解释一下在基本层面上发生了什么吗?我的代码已发布在下面:C# 当页面存在时,HttpWebResponse返回404错误,c#,httprequest,C#,Httprequest,我正在尝试编写一个小型桌面应用程序,通过API监控网站。我从来没有对API或WebRequests做过太多的工作,所以我不确定如何处理这个错误。生成请求后,我尝试从页面获取响应,但这会返回404错误,即使我在浏览器中导航到相同的URL也可以正常工作。我不知道如何解决这个问题,我对有同样问题的人所做的研究也没有帮助我理解这个问题。有人能向我解释一下在基本层面上发生了什么吗?我的代码已发布在下面: private void Window_Loaded(object sender, RoutedEve
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string sURL;
sURL = @"https://habitrpg.com/api/v1/user";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sURL);
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
resultText.Text = "Oh no!";
}
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
string responseData = readStream.ReadToEnd();
}
您应该忽略https证书,看看这个问题:
我遇到了错误401,你确定得到的是404吗?是的,如果我在代码运行时单步执行代码,异常会说这是404错误。我尝试添加了该问题所涉及的行,但仍然得到了404错误。我所要做的就是添加ServicePointManager行,并定义他定义的布尔值,对吗?@SeanCogan这是下一步,如果你得到404,这意味着:无效的url、无效的参数或某些头也可能是无效的。使用浏览器检查差异的最简单方法是
Fiddler
。允许https
流量,并在浏览器和程序中发出请求。