//调用方法

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;
}

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

  1. vue 路由传参中刷新页面参数丢失 及传参的几种方式?

    在页面跳转中,我通过路由传参,结果发现页面参数丢失了.路径返回了根目录.... 1. 先说下路由传参的几种方式吧? 比如:<div v-for="item in items" ...

  2. Layui 在新标签中打开页面 / 模拟点击菜单

    原文:https://blog.csdn.net/sr_www/article/details/81394365 核心代码: //在新标签页中 打开页面 function newTab(url, ti ...

  3. 二十一、springboot之定制URL匹配规则(项目中遇到的问题:get方式传参,带有小数点,被忽略)

    一.问题描述: get方式传参,在传送价格,积分时(带有小数点),debug后台微服务接受到的参数,却不带小数点,如:price是0.55,后台接受后却是0 二.解决 在WebConfiguratio ...

  4. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  5. (day68)Vue-CLI项目、页面跳转和传参、生命周期钩子

    目录 一.Vue-CLI (一)环境搭建 (二)项目的创建 (三)项目目录结构 (四)Vue组件(.vue文件) (五)全局脚本文件main.js(项目入口) (六)Vue请求生命周期 二.页面跳转和 ...

  6. 使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)

    Fiddler工具是一个http协议调试代理工具,它可以帮助程序员测试或调试程序,辅助web开发. Fiddler工具可以发送向服务端发送特定的HTTP请求以及接受服务器回应的请求和数据,是web调试 ...

  7. 同一路由带参刷新,以及params和query两种方式传参的异同

    同一路由应该不叫跳转了吧,就先叫刷新好了. 需求及问题 今天做web课设有这样一个需求: 在导航栏中一项叫做教师队伍一级菜单下,有三个二级菜单,分别为教授.副教授.讲师.这三个二级菜单分别对应一个页面 ...

  8. spring mvc返回json字符串的方式

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  9. 160506、Spring mvc新手入门(11)-返回json 字符串的其他方式

    Spring MVC返回 json字符串的方式有很多种方法,这里介绍最简单,也是最常使用的两种方式 一.使用  PrintWriter printWriter  直接输出字符串到返回结果中    不需 ...

随机推荐

  1. 为 IIS 7.0 配置 <system.webServer>

    Web.config 文件中的 system.webServer 节用于指定适用于 Web 应用程序的 IIS 7.0 设置.system.WebServer 是 configuration 节的子级 ...

  2. React-Native获取文本框的值

    要想获取文本框的值,首先我们需要看一下官方文档的解释: 这里的意思是说当文本框的内容改变的时候,文本框的输入的内容就会作为一个参数进行传递.因此我们就可以获取到文本框里面的内容就好了. constru ...

  3. ASP.NET MVC请求特殊静态文件返回404 Not Found

    今天在请求静态的json档案以及woff2档案,会返回404错误,需要在Web.Config里修改: <system.webServer> <modules> <remo ...

  4. MySql高效分页SQL

    public string GetQuerySql(ITSPAreaQueryModel model, object state = null) { ); sqlBuilder.AppendForma ...

  5. 浅谈HTML5拖放

    现在,新增的HTML5元素很多,也给开发者带来了很多便利,比如说:结构标记header .nav.arctile.section.footer 表单元素:url.date.emaile.search. ...

  6. centos 7 epel地址

    wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

  7. Android listview 的优化

    接[Android listview的应用][1] 在我们上一篇[Android listview的应用][1]中,我们的adapter中的getView()方法中每次都将布局重新加载一遍,这样就会导 ...

  8. hasClass方法 动画方法说明

    $(this).hasClass("selected");判断是否含有selected样式

  9. css3变形讲解

    Transform变形:可以实现文字或者图片旋转.缩放.倾斜和移动,并且该元素下的所有子元素都随着父元素一样. 既然接触到transform,我们就可以做好多3d的效果啦 旋转:transform:r ...

  10. Dragon Balls--hdu3635(并查集)

    Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...