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

}

时间: 2025-02-01 14:38:45

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

Winform中打开网页页面的方法

1.首先比较简单的我们知道有类似的方法如下 System.Diagnostics.Process.Start("http://www.baidu.com"); 2.比较灵活一点,可以定义窗口大小,我们要实现网页中脚本打开页面的方法,即window.open 那么,我们必然会想,如何调用页面的脚本呢?其实可以利用WebBrowser来实现 //连接 string url ="http://www.baidu.com"; //定义脚本 string script =@&

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

同一路由应该不叫跳转了吧,就先叫刷新好了. 需求及问题 今天做web课设有这样一个需求: 在导航栏中一项叫做教师队伍一级菜单下,有三个二级菜单,分别为教授.副教授.讲师.这三个二级菜单分别对应一个页面.但是由于显示的排版相同,只是教师信息不同,故想用同一页面,通过选择不同的菜单,传入不同的参数,显示不同的信息. 刚开始的想法是,在实例创建阶段,也就是created阶段将导航栏传给子组件的参数获取到 父组件: this.$router.push({ path: '/jsjj', query:{ i

SpringMVC返回json字符串(非注解方式)

这里采用的是非注解形式,相当于注解中的@responseBody /**      * 根据字符串输出JSON,返回null      *       * @param jsonString      * @return      */     public String ajaxJson(HttpServletResponse response,String jsonString) {        return ajax(response,jsonString, "text/html&quo

spring mvc返回json字符串的方式

spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring-servlet.xml文件中配置如下代码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&quo

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

Spring MVC返回 json字符串的方式有很多种方法,这里介绍最简单,也是最常使用的两种方式 一.使用  PrintWriter printWriter  直接输出字符串到返回结果中    不需要任何xml文件配置 1 2 3 4 5 6 7 8 9 //返回给前台一个字符串  @RequestMapping(params = "method=getJson1")  public void getJson(@RequestParam("userid") Str

WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参

原文:WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参 ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的 不能绑父级,但是能绑资源 第一步:定义一个中间类用来做资源对象 1 public class BindingProxy : Freezable 2 { 3 #region Over

C#使用WebClient获取给定地址的内容(POST方式传参)

见下方代码: 1 string url = "https://www.baidu.com";//源地址 2 System.Net.WebClient WebClient = new System.Net.WebClient(); 3 var parameter = "x=7&y=8&z=9";//参数 4 byte[] parameters = Encoding.UTF8.GetBytes(parameter);//UTF8编码 5 WebClien

WebApi中直接返回json字符串的方法

[HttpPost] public HttpResponseMessage Upload() { string json = "{\"result\":\"true\"}"; return new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") }; } WebApi中直

三种方式获取小程序页面跳转并传参

方法一.可以将数据保存在app.js文件中,因为app.js的数据是全局可见的,但是如果所有全局变量都放到app.js中,会导致该文件很臃肿 方法二.通过官方文档可知在页面onLoad生命周期的参数中获取打开当前页面路径中的参数.那么可以通过 wx.navigateTo()传递参数,跳转到官方文档. 数据可以传递一个或多个,也可传递数组和json对象 注意:因为url的长度有限,对象太长,结果发现拼接在URL之后不完整,导致之后解析不出来,所以路由传参对象时要注意,传参的对象不能太长. eg: