zoukankan      html  css  js  c++  java
  • 向Url发送post请求传递参数

            #region  向Url发送post请求,返回网站响应内容
            /// <summary>
            /// 向Url发送post请求,返回网站响应内容
            /// </summary>
            /// <param name="postData">发送数据</param>
            /// <param name="uriStr">接受数据的Url</param>
            /// <param name="action">更新操作</param>
            /// <returns>返回网站响应内容</returns>
            public static string RequestPost(string postData, string uriStr, string action)
            {
                HttpWebRequest requestScore = (HttpWebRequest)WebRequest.Create(uriStr);
                StringBuilder postContent = new StringBuilder();
                Encoding myEncoding = Encoding.GetEncoding("gb2312");
                postContent.Append(HttpUtility.UrlEncode("message", myEncoding));
                postContent.Append("=");
                postContent.Append(HttpUtility.UrlEncode(postData, myEncoding));
                postContent.Append("&");
                postContent.Append(HttpUtility.UrlEncode("type", myEncoding));
                postContent.Append("=");
                postContent.Append(HttpUtility.UrlEncode("sync", myEncoding));
                postContent.Append("&");
                postContent.Append(HttpUtility.UrlEncode("action", myEncoding));
                postContent.Append("=");
                postContent.Append(HttpUtility.UrlEncode(action, myEncoding));


                byte[] data = Encoding.ASCII.GetBytes(postContent.ToString());
                requestScore.Method = "Post";
                requestScore.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
                requestScore.ContentLength = data.Length;
                requestScore.KeepAlive = true;
                Stream stream = requestScore.GetRequestStream();
                stream.Write(data, 0, data.Length);
                stream.Close();
                HttpWebResponse responseSorce;
                try
                {
                    responseSorce = (HttpWebResponse)requestScore.GetResponse();
                }
                catch (WebException ex)
                {
                    responseSorce = (HttpWebResponse)ex.Response;//得到请求网站的详细错误提示
                }
                StreamReader reader = new StreamReader(responseSorce.GetResponseStream(), Encoding.UTF8);
                string content = reader.ReadToEnd();
                requestScore.Abort();
                responseSorce.Close();
                responseSorce.Close();
                reader.Dispose();
                stream.Dispose();
                return content;
            }

            #endregion


    网站接收数据:

                string message = Request.Form["message"];
                string type = Request.Form["type"];
                string action = Request.Form["action"];

  • 相关阅读:
    网易云信流媒体服务端架构设计与实现
    从零开始搭建创业公司后台技术栈
    协程(coroutine)简介
    微服务的简介和技术栈
    分布式系统中最容易被忽视的六大“暗流”
    分布式架构的演进
    全网最详尽的负载均衡原理图解
    图解 | 搞定分布式,程序员进阶之路
    Enterprise Library 3.0体验(4):Validation Application Block与ASP.NET的集成
    Enterprise Library 3.0 发布
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/2341124.html
Copyright © 2011-2022 走看看