发送和JSON数据

/=============================webAPI接受POST的JOSN数据=============================/
POST api/<controller>
[HttpPost]
public string Post([FromBody]string value)
{
var requestContent = value;
var result = "[{\"name\":\"12\"}]";
return result;
} // 发送方法
public void SendStringToWebApi()
{ #region 调用API发送字典数据 // (orders+vehicles+appkey+timestamp+version+appsecret)
var timestamp = DateTime.Now.ToString("yyyyMMddHHmmssSSS");
var sign = DigitalSignature.MD5(JsonConvert.SerializeObject(listOrder) + appkey + timestamp + "1" + appsecret);
var qid = timestamp + sign; var url = "http://www.routeapi.com/api/Order";
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip }; using (var http = new HttpClient(handler))
{
// 发送的JSON数据
var _TrasnTask = new TrasnTask()
{
Orders = listOrder,
appkey = appkey,
timestamp = timestamp,
version = "1",
sign = sign
};
var postJsonContent = JsonConvert.SerializeObject(_TrasnTask); http.DefaultRequestHeaders.Accept.Clear(); // 指定提交的数据格式
// http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// HttpResponseMessage response;
// var action = Uri.EscapeUriString(url); //Obj is passed into this, currently it is of type File
// var content = new StringContent(postJsonContent, Encoding.UTF8, "application/json"); // response = http.PostAsync(action, content).Result;
response = http.PostAsJsonAsync<string>(url, postJsonContent).Result;
if (response.IsSuccessStatusCode)
{
var responseContent = response.Content;
string responseString = responseContent.ReadAsStringAsync().Result;
TempData["responseLocation"] = responseString;
}
} }

发送字段数据

public void SendDicToWebApi()
{
//// (orders+vehicles+appkey+timestamp+version+appsecret)
//var timestamp = DateTime.Now.ToString("yyyyMMddHHmmssSSS");
//var sign = DigitalSignature.MD5(JsonConvert.SerializeObject(listOrder) + appkey + timestamp + "1" + appsecret);
//var qid = timestamp + sign; //var url = "http://www.routeapi.com/api/Order/PostToDic";
//var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip }; //using (var http = new HttpClient(handler))
//{
// var formDic = new Dictionary<string, string>()
// {
// {"orders",JsonConvert.SerializeObject(listOrder)},
// {"vehicles","vehiclesVlaues"},
// {"appkey",appkey},
// {"timestamp",timestamp},
// {"version","1"},
// {"sign",sign}
// }; // var content = new FormUrlEncodedContent(formDic); // // 发送字典集合
// var response = http.PostAsync(url, content).Result; // // 接受返回值
// var httpStatusCode = response.IsSuccessStatusCode;
// var responseLocation = response.Headers.Location;
// TempData["responseLocation"] = response.Content.ToString(); //} ///// <summary>
///// 接受普通文本
///// </summary>
///// <param name="value"></param>
///// <returns></returns>
//[HttpPost]
//// public string Post([FromBody]string value)
//public string PostToDic(FormDataCollection value)
//{
// var orders_1 = value.GetValues("orders");
// return "文本已经接受到了"; // ///// 接受地址栏的参数
// //var requestUri = Request.RequestUri.ParseQueryString();
// //var orders = requestUri["orders"];
// //var vehicles = requestUri["vehicles"];
// //var appkey = requestUri["appkey"];
// //var timestamp = requestUri["timestamp"];
// //var version = requestUri["version"];
// //var sign = requestUri["sign"];
//} }

使用HttpClient发送数据 到WebApi的更多相关文章

  1. Http协议以及模拟http请求发送数据

    1 为什么要使用http协议 假设我现在有两个客户端浏览器,一个是google,一个是IE浏览器:我现在有两个服务器,一个是tomcat,一个是JBoss;在最初的情况下是:如果google要往tom ...

  2. Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  3. Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. Android - 向服务器发送数据(POST) - HTTPClient.

    该篇文章主要说明使用Apache提供的HTTPClient,通过post方式,向服务器发送数据.由于有些东西在 Android - 向服务器发送数据(GET)中提到过,就不再重复. 一,Android ...

  5. (一)----使用HttpClient发送HTTP请求(通过get方法获取数据)

    (一)----使用HttpClient发送HTTP请求(通过get方法获取数据) 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是 ...

  6. (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...

  7. httpclient发送不带参数post数据

    两个问题:      1.httpclient怎样发送一个没有不论什么參数的post数据呢?      2.Webproject怎样去接收一个无參数的post呢? 起因:      今天(2014.1 ...

  8. Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)

    讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.jsp?name=te ...

  9. Android之网络----使用HttpClient发送HTTP请求(通过get方法获取数据)

    [正文] 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 "超文本传输协议",是一种为分布式,合作式,多媒体信息系统服务,面向应用层 ...

随机推荐

  1. Redis菜鸟汇总

    1.是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为 ...

  2. [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法

    这个方法主要思路是利用自定义URL Protocol来调用应用程序.浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数.对于我这个项 ...

  3. Emgu 决策树

    MCvDTreeParams cvFolds //If this parameter is >1, the tree is pruned using cv_folds-fold cross va ...

  4. JS中的特有语句-for in

    <script> /* *js中特有语句for in *for(变量 in 对象)//对对象进行变量的语句 *{ *} */ var arr = [32,80,65]; for(i in ...

  5. js中特有语句-with

    <script type="text/javascript"> /* *为了简化对象调用内容的书写. *可以用js中的特有语句with来完成. *格式 *with{ * ...

  6. NOJ 1074 Hey Judge(DFS回溯)

    Problem 1074: Hey Judge Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format: ...

  7. mvn打包idea项目

    首先 通过cmd进入docs 然后用cd命令进入项目文件夹所在路径 然后输入mvn -Dmaven.test.skip=true package//-Dmaven.test.skip=true跳过测试

  8. VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识      虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...

  9. vmware centos6.5 net 配置

    使用NAT模式 虚拟机网络连接使用NAT模式,物理机网络连接使用Vmnet8. 虚拟机设置里面——网络适配器,网络连接选择NAT模式. 虚拟机菜单栏—编辑—虚拟网络编辑器,选择Vmnet8 NAT模式 ...

  10. linq判断集合是否为空的方法

    Enumerable.Any 扩展方法可以判断集合为空: 如果不为空 if (!source.Any()) { //... }