利用HttpWebRequest类Post数据至URI

在与第三方系统进行数据对接时,需要把数据post到对方提供的一个url,然后进行相关处理。

 

这里可利用HttpWebRequest类,该类位于System.Net命名空间下。它提供了一些属性和方法可以实现与使用http的服务器的交互。

 

【核心方法】

 

1、GetResponse:向指定的资源(如uri)发出同步请求并返回包含该响应的HttpWebResponse。

 

2、GetRequestStream:返回用于发布数据的Stream对象。

 

【实例化方法】

 

应使用System.Net.WebRequest.Create方法初始化新的HttpWebRequest对象,不要使用HttpWebRequest构造函数。

 

具体用法见下面这个例子:

 

 private string OpenRead(string URL, string strPostdata, out string msg)
    {
         try
        {
            Encoding encoding = Encoding.Default;
            string respHtml = "";
            
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
            request.CookieContainer = new CookieContainer();
            request.Method = "POST";
            request.Accept = "*/*";
            request.ContentType = "application/x-www-form-urlencoded";
            byte[] buffer = encoding.GetBytes(strPostdata);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
            respHtml = reader.ReadToEnd();

            reader.Close();
            msg = "ok";
            return respHtml;
        }
        catch (Exception ex)
        {
            msg = ex.Message;
            return "";
        }
    }

 

以上资源来综合自网络,详细用法可参考MSDN,搜HttpWebRequest。

posted @ 2014-11-19 16:45  婷婷玉立的成长之家  阅读(318)  评论(0编辑  收藏  举报