Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebClient获取更新源_C#_Httpwebrequest_Webclient_Httpwebresponse - Fatal编程技术网

C# WebClient获取更新源

C# WebClient获取更新源,c#,httpwebrequest,webclient,httpwebresponse,C#,Httpwebrequest,Webclient,Httpwebresponse,我有一种情况,即我从使用WebClient/HttpWebRequest的站点获得的源与从web浏览获得的实际源不同(单击不同的按钮) 我猜网站在发送第一个源代码后会很快更新按钮, 我想得到一个更新的来源,一个网站后,约1秒,我已经“去过”那里 我试过一些东西,但我真的不知道怎么做 这是我的尝试: public class KeepAliveWebClient : WebClient { public string DownloadString(string address) {

我有一种情况,即我从使用WebClient/HttpWebRequest的站点获得的源与从web浏览获得的实际源不同(单击不同的按钮)

我猜网站在发送第一个源代码后会很快更新按钮, 我想得到一个更新的来源,一个网站后,约1秒,我已经“去过”那里

我试过一些东西,但我真的不知道怎么做

这是我的尝试:

public class KeepAliveWebClient : WebClient
{
    public string DownloadString(string address)
    {
        return base.DownloadString(address);
    }
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.KeepAlive = true;
        return request;
    }

    protected override WebResponse GetWebResponse(WebRequest request)
    {
        var response = base.GetWebResponse(request);
        Thread.Sleep(2000);
        var newResponse = base.GetWebResponse(request);

        return newResponse;
    }
}

提前谢谢。

你的意思还不太清楚。您能否澄清一下您在网站上看到了什么,以及在以编程方式获取时看到的区别,以及按钮与此有什么关系?在您获得源代码后,服务器不会立即更改网站代码。。。我怀疑服务器根据请求的某些方面(如浏览器/用户代理/引用器/操作系统等)呈现不同的内容。它可能会提供一些javascript,根据某些客户端方面动态更改onclick处理程序。。。WebClient/HttpWebRequest不执行javascript,因此在某些情况下不会给出与浏览器相同的结果。。。你的目标到底是什么?