C# 用HTTP协议发送、接收数据

用HTTP协议发送、接收数据:

发送:

 

    /// <summary>
        /// post给定的url并获取返回的数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        private string GetPostResult(string url, string strXml, int timeout)
        {
            string result;
            try
            {
                strXml = strXml.Remove(0, strXml.IndexOf("<"));
                //将数据以数据流方式提交到网关
                WebRequest myWebRequest = WebRequest.Create(url);
                myWebRequest.Method = "POST";
                myWebRequest.Timeout = timeout;
                //myWebRequest.ContentType = "application/x-www-form-urlencoded";

                byte[] data = Encoding.Unicode.GetBytes(strXml);
                myWebRequest.ContentLength = data.Length;
                //添加Request.ContentType,否则对方可能无法接收
                myWebRequest.ContentType = "text/xml";
                myWebRequest.GetRequestStream().Write(data, 0, data.Length);


                HttpWebResponse rep2 = (HttpWebResponse)myWebRequest.GetResponse();


                //获取返回的数据
                //WebResponse myWebResponse = myWebRequest.GetResponse();
                StreamReader sr = new StreamReader(rep2.GetResponseStream());
                result = sr.ReadToEnd();
                result = result.Replace("/r/n", "");
                sr.Close();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.Print(e.ToString());
                result = "error";
            }
            return result;
        }

接收:

    XmlDocument xmlDoc = new System.Xml.XmlDocument();
                byte[] data = new byte[Request.InputStream.Length];
                Request.InputStream.Read(data, 0, (int)Request.InputStream.Length);

string orderXml = Encoding.Unicode.GetString(data);
                    Request.InputStream.Close();
                    orderXml = Server.HtmlDecode(orderXml);
                    xmlDoc.LoadXml(orderXml);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值