//调用方法

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. mvc 笔记

    @{ ViewBag.Title = "主页"; } <div> 这里就是渲染Body啦.~~不需要写神马<asp:Content />,其实因为Rende ...

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

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

  3. Mac系统杂项 (持续更新)

    一.调整LaunchPad的图标显示列数和行数 .调整每一列显示图标数量.在我的电脑上(1366 * 768),每列7个个人觉得比较不错 defaults write com.apple.dock s ...

  4. 自己写的轻量级PHP框架trig与laravel5.1,yii2性能对比

    看了下当前最热门的php开发框架,想对比一下自己写的框架与这些框架的性能对比.先看下当前流行框架的投票情况. 看结果对比,每个测试脚本做了一个数据库的联表查询并进行print_r输出,查询的sql语句 ...

  5. 基于java的InputStream.read(byte[] b,int off,int len)算法学习

    public int read(byte[] b, int off, int len) throws IOException 将输入流中最多 len 个数据字节读入字节数组.尝试读取多达 len 字节 ...

  6. 记微信开发(自定义回复&关注回复)

    记微信开发(自定义回复&关注回复) 记微信开发(自定义回复&关注回复) code: <?php/** * wechat php test *///define your toke ...

  7. 计算机模拟(hd1283)

    最简单的计算机 Problem Description 一个名叫是PigHeadThree的研究组织设计了一台实验用的计算机,命名为PpMm.PpMm只能执行简单的六种命令A,B,C,D,E,F:只有 ...

  8. Git学习03 --远程仓库

    把本地库的内容推送到远程(github), 用git push命令,实际上是把当前分支master推送到远程. 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的 ...

  9. 添加解压缩版Tomcat到系统服务

    一.安装服务 在命令行中进入/Tomcat路径/bin/,执行“service.bat install”: 说明:1.服务名和显示名称:service.bat中设置了默认的服务名称,不同版本分别命名为 ...

  10. JSON互转

    http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html 最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应 ...