在C#应用程序中创建HTTP post请求和接收响应并解析响应
我试图编写一个C程序,将http表单发布到CGI脚本并获得响应 响应是需要解析的网页,因为我只需要它的某一部分 有什么方法可以获取响应网页并用C#解析它吗?您可以使用该类: 您可以使用该类:在C#应用程序中创建HTTP post请求和接收响应并解析响应,c#,http,cgi,http-post,C#,Http,Cgi,Http Post,我试图编写一个C程序,将http表单发布到CGI脚本并获得响应 响应是需要解析的网页,因为我只需要它的某一部分 有什么方法可以获取响应网页并用C#解析它吗?您可以使用该类: 您可以使用该类: 您可以使用WebClient组合来发送表单、检索响应以及解析此任务的结果。您可以使用WebClient组合来发送表单、检索响应以及解析此任务的结果。我的internet连接很慢,需要几分钟的时间秒提交表单并接收响应。如何在代码中处理此问题?代码引发3个错误和一个警告:警告1“System.Net”的usin
您可以使用
WebClient
组合来发送表单、检索响应以及解析此任务的结果。您可以使用WebClient组合来发送表单、检索响应以及解析此任务的结果。我的internet连接很慢,需要几分钟的时间秒提交表单并接收响应。如何在代码中处理此问题?代码引发3个错误和一个警告:警告1“System.Net”的using指令以前出现在此命名空间中错误2“System.Net.WebClient”:using语句中使用的类型必须隐式转换为“System.IDisposable”错误4“System.Net.WebClient”不包含找不到“UploadValues”和接受类型为“System.Net.WebClient”的第一个参数的扩展方法“UploadValues”(是否缺少using指令或程序集引用?)@JeswinSimon,您使用的是哪个版本的.Net?就您的internet连接速度而言,从代码上看,您无能为力:-)您必须联系您的ISP提供商..net 4。Windows phone 7 C#应用程序。关于internet连接速度,我是否可以使用“UploadValuesCompleted”来处理它?@JeswinSimon,在WP7中,您只有异步版本的方法。因此,您应该订阅UploadValuesCompleted
事件,然后使用UploadValuesSync
触发请求。我的internet连接很慢,提交表单和接收响应需要几秒钟的时间。如何在代码中处理此问题?代码引发3个错误和一个警告:警告1“System.Net”的using指令以前出现在此命名空间中错误2“System.Net.WebClient”:using语句中使用的类型必须隐式转换为“System.IDisposable”错误4“System.Net.WebClient”不包含找不到“UploadValues”和接受类型为“System.Net.WebClient”的第一个参数的扩展方法“UploadValues”(是否缺少using指令或程序集引用?)@JeswinSimon,您使用的是哪个版本的.Net?就您的internet连接速度而言,从代码上看,您无能为力:-)您必须联系您的ISP提供商..net 4。Windows phone 7 C#应用程序。关于internet连接速度,我是否可以使用“UploadValuesCompleted”来处理它?@JeswinSimon,在WP7中,您只有异步版本的方法。因此,您应该订阅UploadValuesCompleted
事件,然后使用UploadValuesAsync
触发请求。
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);
}
}
}