发布到远程URL,读取响应

时间:2014-04-16 16:04:39

标签: c# asp.net asp.net-mvc-4

我搜索并发现了许多不同的方式将表单数据发布到远程URL(例如here等)。我似乎无法找到的方法是这样做并解析来自远程服务器的响应,在我的情况下基本HTML解析。为了清楚我不需要解析数据的帮助,我不知道如何以我可以使用的方式获得响应。这是可能的,使用httpresponse还是其他方法?我似乎记得在几年前做过类似的事情,但只是在过去的生活中,然后,只在传说中。请提前通知和thanx。

来自服务器的示例响应:

<H1>FormResponse</H1><BR>
<CENTER><B><I>Transaction was successful!</I></B></CENTER><BR>
<B>Transaction ID: </B>TP1H5X06T9RT5T<BR><B>Post Status: </B>Queued<BR>

2 个答案:

答案 0 :(得分:2)

您可以使用WebClient及其UploadValues()方法:

using (WebClient client = new WebClient())
{
     NameValueCollection nvc = new NameValueCollection()
     {
         { "foo", "bar"}
     };

     byte[] responseBytes = client.UploadValues("http://www.google.com", nvc);
     string response = System.Text.Encoding.ASCII.GetString(responseBytes);
}

答案 1 :(得分:1)

您真正想要做的是使用WebRequestHttpWebRequest

我建议你开始here

为了澄清,您发布的链接不是您想要的。这是因为当您的代码是Web请求并且您正在向客户端写回复时。您正在寻找的是成为客户并发送请求并收到回复。