c# HttpWebRequest 模拟HTTP post 传递JSON参数

//HTTP post   JSON 参数
        private string HttpPost(string Url, Object ticket)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(ticket.GetType());
            MemoryStream stream = new MemoryStream();
            serializer.WriteObject(stream, ticket);
            byte[] dataBytes = new byte[stream.Length];
            stream.Position = 0;
            stream.Read(dataBytes, 0, (int)stream.Length);
            string param = Encoding.UTF8.GetString(dataBytes);
                byte[] bs = Encoding.ASCII.GetBytes(param);
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(Url);
                req.Method = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                req.ContentLength = bs.Length;
                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(bs, 0, bs.Length);
                }
                HttpWebResponse hwr = req.GetResponse() as HttpWebResponse;
                System.IO.StreamReader myreader = new System.IO.StreamReader(hwr.GetResponseStream(), Encoding.UTF8);
                string responseText = myreader.ReadToEnd();
            return responseText;
        }

导入对应的dll  ,  Object参数可以随意,实体类传什么,json参数就是什么。

时间: 2024-10-08 19:56:08

c# HttpWebRequest 模拟HTTP post 传递JSON参数的相关文章

WebApi传递JSON参数

开发过程中经常进行JSON的传递,在WebApi中传递JSON字串时,会发现服务器端接收到不参数值,看下面代码 服务端: public void Post([FromBody]string value) { LoggerHelper.Info("Post:{0}", value); } 客户端: HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQ

HighChart 体验之旅 (后台传递JSON参数和数据的方法)

转自:http://www.cnblogs.com/daviddai/archive/2013/04/12/Highchart.html 官网:http://www.highcharts.com/ 中文网:http://www.hcharts.cn/ <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="Syste

Spring MVC —— 前后台传递JSON

1. 传递JSON参数 vardata = {'id':1,'name':'abc'}; $.ajax({ type:'post', url:'homePageAction.do?testAJax', contentType:'application/x-www-form-urlencoded', data:JSON.stringify(data), success:function(data){ console.log(data.msg); }, error:function(){ } });

JSP+AJAX获取或者传递JSON对象以及参数

commodityList.jsp 第一步:创建 名为"ajax" 的 Java Web项目. 第二步:加入struts2的jar包,这里需要四个包 freemarker.jar  ognl.jar  struts2-core.jar  commons-fileupload.jar  commons-io.jar   xwork-core-2.1.6.jar(这个包加上版本号,是因为下文要提到它),这六个包是struts必须依赖的jar包,什么好说的. 第三步:修改 web.xml 加

HttpWebRequest 模拟登录响应点击事件(开源自己用的HttpHelper类)

平时也经常采集网站数据,也做模拟登录,但一般都是html控件POST到页面登录:还没有遇到用户服务器控件button按钮点击事件登录的,今天像往常一样POST传递参数,但怎么都能登录不了:最后发现还有两个参数需要传,__EVENTVALIDATION和__VIEWSTATE 在传的过程中需要对参数值进行URL编码 System.Web.HttpUtility.UrlEncode(value) 模拟登录代码:在本地写的一个测试的网站来模拟登录,原理都一样: Request request = ne

基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service

引言 前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿.现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做.由于C#中通过直接添加引用的方来调用Web Service的方式不够灵活,故采取手动发送Http请求的方式来调用Web Service.最后选择使用Post方式来调用Web Service,至于安全性和效率暂不考虑.在学习使用的过程,遇到了很多问题,也花了很长时间来解决,网上相关的帖子很少,如果各位在使用的过程中有一些问题难以解决,可

HttpWebRequest模拟c#网站登录

模拟登录asp.net开发的网站.POST数据相对来说比较简单.如何触发事件?一个页面可能有多个post按钮,如修改.删除,按钮,页面提交后,会进入对应的事件中.通过什么机制触发事件一直没有找到满意的答案. 之前在博问中寻求过帮助,也许是没有彻底理解热心园友的回复,问题一直没有解决,但依然感谢走过.路过的朋友. 博问链接:1.c#模拟网页登陆   2. HttpWebRequest 模拟登录 知道看到了这篇博文才实现了c#网站的登录. 对于asp.net开发的网站,需要将__VIEWSTATE和

C#后台HttpWebRequest模拟跨域Ajax请求,注册Windows服务到服务器上

项目需求,暂且叫A.B公司吧.我们公司需要从A公司哪里读取机器上的数据,放到我们数据库中.然后再将数据库中存的数据,提供一个接口,B公司来调用,大概这个意思. 好了,言归正传.这个是之前做好的界面,用户需要手动点击“开始”,然后写了个定时器,不停的来回调用 部分源码(5秒调用后台处理) 1 function refreshCount() { 2 if (prj.is_port_state_1 == false) { 3 var grid_down = query_panel.grid_down;

springMVC传递JSON格式数据

这两天在使用SpringMVC传递JSON数据格式,出现了各种令人头大的问题,但是功夫不负有心人,最后还是解决了问题.在这里记录下来供大家参考,如有不对,还请各位大侠指正. 在SpringMVC传递JSON数据格式需要加入两个jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar. 实体JavaBean:Person  具有tname,g