• 在 WinForm 中打开页面采用POST方式传参http。可以多个参数传递,返回json字符串


    //调用方法

    Dictionary<stringstring> postData = new Dictionary<stringstring>();
    postData.Add("user""aaa");
    postData.Add("pass""bbb");
     
    GetPageByPost("http://www.xxx.com/send.aspx", postData, Encoding.UTF8);
     
    /// <summary>
    /// 以 Post 方式提交网页数据,获得服务器返回的数据
    /// </summary>
    /// <param name="url"> Url </param>
    /// <param name="postData">Post 数据</param>
    /// <param name="encoder">网页编码</param>
    /// <returns>服务器返回的数据</returns>
    public string GetPageByPost(string url, Dictionary<stringstring> postData, Encoding encoder)
    {
        string html = "";
     
        HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
        webReq.Method = "POST";
     
        Stream reqStream = null;
        if (postData != null && postData.Count > 0) {
            StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair<stringstring> kv in postData) {
                sb.Append(HttpUtility.UrlEncode(kv.Key));
                sb.Append("=");
                sb.Append(HttpUtility.UrlEncode(kv.Value));
                sb.Append("&");
            }
     
            byte[] data = Encoding.UTF8.GetBytes(sb.ToString().TrimEnd('&'));
     
            webReq.ContentType = ContentType;
            webReq.ContentLength = data.Length;
            reqStream = webReq.GetRequestStream();
            reqStream.Write(data, 0, data.Length);
        }
     
        HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();
        Stream stream = webResp.GetResponseStream();
        StreamReader sr = new StreamReader(stream, encoder);
        html = sr.ReadToEnd();
     
        sr.Close();
        stream.Close();
     
        if (reqStream != null) {
            reqStream.Close();
        }
     
        return html;
    }
  • 相关阅读:
    BZOJ1085 SCOI2005 骑士精神【IDA* 启发式迭代加深】
    BZOJ1690 Usaco2007 Dec 奶牛的旅行 【01分数规划】
    SPOJ104 Highways 【矩阵树定理】
    BZOJ1597土地购买 【斜率优化DP】
    【模板】NTT
    【模板】FFT
    BZOJ3196 Tyvj1730 二逼平衡树 【树套树】 【线段树套treap】
    POJ3696 The Windy's 【网络流】
    POJ2728 Desert King 【最优比率生成树】
    BZOJ5298 CQOI2018 交错序列 【DP+矩阵快速幂优化】*
  • 原文地址:https://www.cnblogs.com/luoqin520/p/4645431.html
Copyright © 2020-2023  润新知