【发布时间】:2011-12-12 17:16:39
【问题描述】:
我正在尝试编写一个 C# 程序,它将 http 表单发布到 CGI 脚本并获得响应。
响应是需要解析的网页,因为我只需要其中的一部分。
有什么方法可以获取响应网页并在 C# 中解析它?
【问题讨论】:
我正在尝试编写一个 C# 程序,它将 http 表单发布到 CGI 脚本并获得响应。
响应是需要解析的网页,因为我只需要其中的一部分。
有什么方法可以获取响应网页并在 C# 中解析它?
【问题讨论】:
您可以结合使用WebClient 发送表单和检索响应,使用HtmlAgilityPack 来解析此任务的结果。
【讨论】:
您可以使用WebClient 类:
using System.Collections.Specialized;
using System.Net;
class Program
{
static void Main()
{
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["foo"] = "bar";
values["bar"] = "baz";
var url = "http://foo.bar/baz.cgi";
byte[] result = client.UploadValues(url, values);
// TODO: do something with the result
// for example if it represents text you could
// convert this byte array into a string using the proper
// encoding: string sResult = Encoding.UTF8.GetString(result);
}
}
}
【讨论】:
UploadValuesCompleted事件,然后使用UploadValuesAsync触发请求。