• c#POST请求和接收post请求


    c# post请求发送数据
    /// <summary>
        /// POST请求
        /// </summary>
        /// <param name="url">请求地址</param>
        /// <param name="val">请求值</param>
        /// <param name="encoding">编码格式</param>
        /// <returns></returns>
        public string GetHttpPostResponse(string url, string val, Encoding encoding)
        {
            string strResult = string.Empty;
            try
            {
                HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url);
                myReq.Method = "Post";
                myReq.ContentType = "application/x-www-form-urlencoded";
                byte[] byteArray = encoding.GetBytes(val);
                myReq.ContentLength = byteArray.Length;
                Stream stream = myReq.GetRequestStream();
                stream.Write(byteArray, 0, byteArray.Length);
                stream.Close();
                HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
                Stream myStream = HttpWResp.GetResponseStream();
                StreamReader sr = new StreamReader(myStream, encoding);
                strResult = sr.ReadToEnd();
    
            }
            catch{}
            return strResult;
        }

    如果数据量过大,则建议使用流的方式

    方法如下

    byte[] bytes=null;
                if(sType=="2")
                {
                    bytes= Encoding.UTF8.GetBytes(sb.ToString());
                }
                else
                {
                    bytes= Encoding.UTF8.GetBytes(sbd.ToString());
                }
                bool b =PostBaitourZrateModel(strurl,bytes);
    /// <summary>
            /// POST数据得到结果
            /// </summary>
            /// <param name="strUrl">URL</param>
            /// <param name="strParm">参数</param>
            /// <returns>string</returns>
            private static bool PostBaitourZrateModel(string strUrl, byte[] strParm)
            {
                StringBuilder str = new StringBuilder();
                bool isRec = false;
                try
                {
                    Encoding encode = System.Text.Encoding.UTF8;
                    HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);
                    myReq.Timeout = 900000;
                    myReq.Method = "POST";
                    myReq.ContentType = "multipart/form-data";
                    myReq.ContentLength = strParm.Length;
                    myReq.AllowWriteStreamBuffering = false;
                    Stream outStream = myReq.GetRequestStream();
                    outStream.Write(strParm, 0, strParm.Length);
                    outStream.Close();
                    WebResponse myResp = null;
                    myResp = myReq.GetResponse();
                    Stream ReceiveStream = myResp.GetResponseStream();
                    StreamReader readStream = new StreamReader(ReceiveStream, encode);
                    Char[] read = new Char[256];
                    int count = readStream.Read(read, 0, 256);
    
                    while (count > 0)
                    {
                        str.Append(new String(read, 0, count));
                        count = readStream.Read(read, 0, 256);
                    }
                    readStream.Close();
                    myResp.Close();
                    if (str.ToString().ToUpper().IndexOf("SUCCESS") >= 0)
                    {
                        isRec = true;
                    }
                }
                catch (Exception ex)
                {
                    isRec = false;
                    new Error().WriteFilesErrorLog(ex.Message,"12580消息通知");
                }
    
                return isRec;
            }

    C#接收post请求的数据

    	private string PostInput()
            {
                try
                {
                    System.IO.Stream s = Request.InputStream;
                    int count = 0;
                    byte[] buffer = new byte[1024];
                    StringBuilder builder = new StringBuilder();
                    while ((count = s.Read(buffer, 0, 1024)) > 0)
                    {
                        builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
                    }
                    s.Flush();
                    s.Close();
    
    
                    return builder.ToString();
                }
                catch (Exception ex)
                { throw ex; }
            }
    

  • 相关阅读:
    JavaScript学习总结(5)——Javascript面向(基于)对象编程
    JavaScript学习总结(4)——JavaScript数组
    高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要【华为云技术分享】
    AI:为你写诗,为你做不可能的事
    鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优
    鲲鹏性能优化十板斧——鲲鹏处理器NUMA简介与性能调优五步法
    华为鲲鹏云之我见
    一站式应用平台,华为云实现自动化构建知识图谱
    化鲲为鹏,我有话说 ,鲲鹏ARM架构的优势
    【读一本书】《昇腾AI处理器架构与编程》--神经网络基本知识学习(1)
  • 原文地址:https://www.cnblogs.com/honghong75042/p/5773948.html
Copyright © 2020-2023  润新知