从ASP.NET中的页面获取呈现的HTML

本文关键字:获取 HTML ASP NET | 更新日期: 2023-09-27 18:00:08

你好,我有一个html页面(twitter.html),包含以下脚本

<script type="text/javascript" charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script>
        <script type="text/javascript">
            function getParameterByName(name)
            {
              name = name.replace(/['[]/, "'''[").replace(/[']]/, "''']");
              var regexS = "[''?&]" + name + "=([^&#]*)";
              var regex = new RegExp(regexS);
              var results = regex.exec(window.location.search);
              if(results == null)
                return "";
              else
                return decodeURIComponent(results[1].replace(/'+/g, " "));
            }
            var TwitterCount = getParameterByName('TwitterCount');
            var TwitterHandleName = getParameterByName('TwitterHandleName');
            new TWTR.Widget({
                version: 2,
                type: 'profile',
                rpp: TwitterCount,
                interval: 30000,
                width: 272,
                height: 'auto',
                theme: {
                    shell: {
                        background: '#ffffff',
                        color: '#000000'
                    },
                    tweets: {
                        background: '#ffffff',
                        color: '#005A8C',
                        links: '#000000'
                    }
                },
                features: {
                    scrollbar: false,
                    loop: false,
                    live: false,
                    behavior: 'all'
                }
            }).render().setUser(TwitterHandleName).start();
        </script>

如果我访问页面

http://localhost/twitter.html?TwitterHandleName=billgates&TwitterCount=3 

我可以看到最后3条推文。

我想要的是从我的aspx页面在这个页面上做一个http发布。下面的代码只返回脚本标记etc,而不是呈现的html。我的问题是如何获得页面的渲染html?

HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create("http://localhost/twitter.html?TwitterHandleName=billgates&TwitterCount=3);
            loHttp.Timeout = 30000;    
            loHttp.UserAgent = "Twitter";
            HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
            //Encoding enc = Encoding.GetEncoding(1252);  // Windows default Code Page
            StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream());
            string htmlCode = loResponseStream.ReadToEnd();
            loWebResponse.Close();
            loResponseStream.Close();

从ASP.NET中的页面获取呈现的HTML

我知道它使用了一个预构建的javascript小部件,但你能使用类似的twitter包装器将其移动到服务器端吗https://github.com/danielcrenna/tweetsharp(可从NuGet获得)或http://linqtotwitter.codeplex.com/?

您可以尝试将该url打开到网页的框架中,并使用javascript从中获取html。