C# 来自一个WebRequest的GetResponse和GetRequestStream

C# 来自一个WebRequest的GetResponse和GetRequestStream,c#,C#,我正在编写一个应用程序,它连接到一个网页,并在该网页上下载一些东西。我让那部分工作起来了。我的问题是页面从一开始就没有显示所有内容。它加载页面的一部分,底部有一个按钮,您需要单击该按钮来显示更多内容。我知道该按钮对服务器进行ajax调用,以获取页面的其余部分 我有两段代码。一个按原样下载web页面,另一个执行ajax调用并获取页面的下一部分 问题是我不知道页面的实际长度,我需要每次按下按钮才能看到页面的下一个部分 因此,我的实际问题是:如何发出WebRequest、获得响应并创建新请求 附:网址

我正在编写一个应用程序,它连接到一个网页,并在该网页上下载一些东西。我让那部分工作起来了。我的问题是页面从一开始就没有显示所有内容。它加载页面的一部分,底部有一个按钮,您需要单击该按钮来显示更多内容。我知道该按钮对服务器进行ajax调用,以获取页面的其余部分

我有两段代码。一个按原样下载web页面,另一个执行ajax调用并获取页面的下一部分

问题是我不知道页面的实际长度,我需要每次按下按钮才能看到页面的下一个部分

因此,我的实际问题是:如何发出WebRequest、获得响应并创建新请求

附:网址永远不会改变。无论你按下按钮多少次,它只会加载更多数据,保持URL不变

// variable to store all HTML code
string EVERYTHING;

// Get the first bit of the page
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.webPageURL.com");
WebResponse response = request.GetResponse();
System.IO.Stream responseStream = response.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(responseStream);
EVERYTHING = reader.ReadToEnd();

// Press the button and get the second bit of the page
request = (HttpWebRequest)WebRequest.Create("http://www.webPageURL.com");
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
using (var stream = request.GetRequestStream())
{
    var buffer = Encoding.UTF8.GetBytes(@"/browse_ajax?action_continuation=1&continuation=CjgSGFVDQjBsaXQyZ2lOZmZsMWhpMWE0azZBZxocRWdaMmFXUmxiM01nQURBQ09BRmdBV29BZWdFeg%253D%253D");
    stream.Write(buffer, 0, buffer.Length);
}
response = (HttpWebResponse)request.GetResponse();
using (reader = new System.IO.StreamReader(response.GetResponseStream()))
{
    EVERYTHING += Environment.NewLine + reader.ReadToEnd();
}

你确定你写的应该是你的请求流吗?它看起来更像一个GET请求。按钮按下url是否应该是http://www.webageurl.com/browse\u ajax,请求流是否应该是url编码参数的形式?第一位代码是GET请求。我没有在我的代码中指定,因为默认的HttpWebRequest方法是GET。但在我看来这并不正确。如果你看一下维基上关于的文章,你会发现它与你写的不同。第一部分/browse\u ajax应该是URL的一部分,而不是参数的一部分。你也可以使用浏览器,在debugging视图中检查实际的查询。我尝试在URL的末尾添加/browse\u ajax,但这会将我带到另一个我不感兴趣的页面。正如我所提到的,代码是有效的,它得到了我需要的所有信息。我就是不能再按这个按钮了,即使我需要。我需要的是1一种执行HttpWebRequest的方法,2获取字符串变量中的服务器回复,3执行post,将服务器回复附加到字符串变量。第2步和第3步应该是一个循环函数。我希望这能更好地解释它?