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>
您想要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请求。
您可以使用WebRequestClass
或WebClient
类和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 }
});