zoukankan      html  css  js  c++  java
  • C#Post提交

    1、提交二进制流数据(json格式):

              var dic = new SortedDictionary<string, string>
                {
                    {"name", "test"},
                    {"pass", "123"},
                };
                
                //序列化参数
                var jsonParam = JsonConvert.SerializeObject(dic);
    
                //发送请求
                var request = (HttpWebRequest)WebRequest.Create(Url);
                request.Method = "POST";
                request.ContentType = "application/json;charset=UTF-8";
                var byteData = Encoding.UTF8.GetBytes(jsonParam);
                var length = byteData.Length;
                request.ContentLength = length;
                var writer = request.GetRequestStream();
                writer.Write(byteData, 0, length);
                writer.Close();
    
                //接收数据
                var response = (HttpWebResponse)request.GetResponse();
                var responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd();

    2、提交表单方法一:

                var url = "xxxxxxxxxxxxxxxxxxxxxx";
                var webClientObj = new WebClient();
                var postVars = new NameValueCollection {
                    {"name", "test"},
                    {"pass", "123"}
                };
    
                byte[] byRemoteInfo = webClientObj.UploadValues(url, "POST", postVars);
                string json = Encoding.UTF8.GetString(byRemoteInfo);

    3、提交表单方法二:

    var url = "xxxxxxxxxxxxxxxxxxxxxxx";
                //通过抓包工具,可以看到是这个格式
                var postData = "username=test&password=123";
    
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                req.Timeout = 30000;
                req.AllowAutoRedirect = false;
                req.ContentType = "application/x-www-form-urlencoded";
                req.KeepAlive = true;
    
                byte[] postBytes = Encoding.UTF8.GetBytes(postData);
                req.ContentLength = postBytes.Length;
                Stream postDataStream = req.GetRequestStream();
                postDataStream.Write(postBytes, 0, postBytes.Length);
                postDataStream.Close();
    
                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  • 相关阅读:
    【BUAA软工】Beta阶段设计与计划
    Visual Lab Online —— 事后分析
    Alpha阶段项目展示
    Visual Lab Online —— Alpha版本发布声明
    【BUAA软工】Alpha阶段测试报告
    Scrum Meeting #10 2020/04/19
    BUAA-OO-第一单元总结
    [软工顶级理解组] 0520第26次会议
    [软工顶级理解组] 0519第25次会议
    [软工顶级理解组] 0517第24次会议
  • 原文地址:https://www.cnblogs.com/qk2014/p/8961041.html
Copyright © 2011-2022 走看看