C#.NET 使用HttpWebRequest發送JSON


方法:

 

public static string HttpPostJson(string url, string postStr, int timeOut, string charset)
        {
            HttpWebRequest wreq = null;
            HttpWebResponse res = null;
            string strRst = "";

            #region http web request

            Encoding ecd = Encoding.GetEncoding(charset);

            byte[] data = ecd.GetBytes(postStr);
            wreq = (HttpWebRequest)WebRequest.Create(url);
            wreq.Timeout = timeOut * 1000;
            wreq.ReadWriteTimeout = timeOut * 1000;
            wreq.Method = "POST";
            wreq.KeepAlive = false;
            wreq.ContentType = "application/json;charset=utf-8";
            wreq.ServicePoint.Expect100Continue = false; //當服務器恢復正常時,訪問已經是200時,這個線程還是返回操作超時

            wreq.ContentLength = data.Length;
            using (Stream putStream = wreq.GetRequestStream())
            {
                putStream.Write(data, 0, data.Length);
            }

            res = wreq.GetResponse() as HttpWebResponse;
            byte[] by = new byte[800];
            using (Stream stream = res.GetResponseStream())
            {
                int size = 1024;
                int read = 0;
                using (MemoryStream ms = new MemoryStream())
                {
                    byte[] buffer = new byte[size];
                    do
                    {
                        read = stream.Read(buffer, 0, size);
                        ms.Write(buffer, 0, read);
                    } while (read > 0);

                    by = ms.ToArray();
                }
            }

            strRst = ecd.GetString(by);

            if (res != null)
                res.Close();
            if (wreq != null)
                wreq.Abort();//主動釋放

            #endregion

            return strRst;
        }

調用:

textBox2.Text = CommonUtils.MU.HttpPostJson(url,textBox1.Text,30,"UTF-8");

END


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM