Post url在c#和检索html

本文关键字:检索 html url Post | 更新日期: 2023-09-27 18:12:14

我要得到一个特定页面的html代码。url格式为:

http://www.externalwebsite.com/dir/page.html?p1=parameter1value& p2 = parametervalue2

当我得到这个页面的html代码有一个隐藏值的列表填满了p1和p2参数写在查询字符串之前。然后有一个POST动作重定向到"/dir/page.html":在这个页面有我需要的html内容。

有没有办法得到"dir/page.html"的html内容?

任何帮助都是非常感激的!

谢谢

我已经通过使用流阅读器实现了GetResponseStream,但是我得到了这段HTML:

<form name="myForm" method="post" action="/dir/page.html" accept-charset="ISO-8859-1">
    <input type="hidden" name="p1" value="parameter1">
    <input type="hidden" name="p2" value="parameter2">
</form>

Post url在c#和检索html

您想要GetResponse。像. .

HttpWebRequest request =          
    WebRequest.Create("http://www.externalwebsite.com/dir/page.html");
HttpWebResponse response  = request.GetResponse();
StreamReader reader  = New StreamReader(response.GetResponseStream());
string sHTML = reader.ReadToEnd();

您已经发出了一个HTTP GET请求,但是当提交表单时,您必须向服务器发出一个包含两个参数p1和p2的HTTP PUT请求。

您可以使用WebRequestClassWebClient类和UploadValues方法通过HTTP POST发送参数:

WebClient wc = new WebClient();
byte[] result = wc.UploadValues("http://www.externalwebsite.com/dir/page.html", 
                                "POST", 
                                new NameValueCollection
                                    {
                                        { "p1", parameter1 }, 
                                        { "p2", parameter2 }
                                    });