• 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);

    PostBaitourZrateModel

    /// <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; }
            }
  • 相关阅读:
    93.快速搭建Web环境 Angularjs + Express3 + Bootstrap3
    92.bower 需要git
    91.Bower : ENOGIT git is not installed or not in the PATH 解决方法
    5.Git使用详细教程
    4.git "Could not read from remote repository.Please make sure you have the correct access rights."解决方案
    2.windows下安装git
    Git常用命令
    每天一个linux命令(50):crontab命令
    crontab 不能执行git命令问题备忘
    Git PHP提交
  • 原文地址:https://www.cnblogs.com/honghong75042/p/3152340.html
Copyright © 2020-2023  润新知