使用HttpClient发送数据 到WebApi
发送和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的更多相关文章
- Http协议以及模拟http请求发送数据
1 为什么要使用http协议 假设我现在有两个客户端浏览器,一个是google,一个是IE浏览器:我现在有两个服务器,一个是tomcat,一个是JBoss;在最初的情况下是:如果google要往tom ...
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Android - 向服务器发送数据(POST) - HTTPClient.
该篇文章主要说明使用Apache提供的HTTPClient,通过post方式,向服务器发送数据.由于有些东西在 Android - 向服务器发送数据(GET)中提到过,就不再重复. 一,Android ...
- (一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是 ...
- (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...
- httpclient发送不带参数post数据
两个问题: 1.httpclient怎样发送一个没有不论什么參数的post数据呢? 2.Webproject怎样去接收一个无參数的post呢? 起因: 今天(2014.1 ...
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.jsp?name=te ...
- Android之网络----使用HttpClient发送HTTP请求(通过get方法获取数据)
[正文] 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 "超文本传输协议",是一种为分布式,合作式,多媒体信息系统服务,面向应用层 ...
随机推荐
- [转]linux援救模式:linux rescue使用详细图解
网上很多网友问怎么进rescue 模式,不知道怎么用rescue来挽救系统. 现在我来图解进入rescue (示例系统为RHEL 3) 1.用安装光盘或者硬盘安装的方式进入安装界面,在shell 中 ...
- NYOJ-组合数
#include <stdio.h> #include <malloc.h> int main() { ; ]; scanf("%d%d", &n, ...
- json转换数据后面参数要带ture,代码
强大的PHP已经提供了内置函数:json_encode() 和 json_decode().很容易理解,json_encode()就是将PHP数组转换成Json.相反,json_decode()就是将 ...
- Run P4 without P4factory - A Simple Example In Tutorials. -2 附 simple_router源码
/* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...
- shell读取文件每行,并执行命令
#!/bin/bash while read line do $line & done < /path/filename
- [转]MongoDB密码设置(基于windows)
参考文档:http://www.cnblogs.com/zengen/archive/2011/04/23/2025722.html MongoDB部署到Windows上后是默认是无权限限制的的. ...
- PHP多台服务器跨域SESSION共享
网站业务规模和访问量的逐步发展,原本由单台服务器.单个域名的迷你网站架构已经无法满足发展需要. 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服 ...
- 欢快的使用Unity JSON吧
0x01:前言 Unity 5.3加入了UnityUtility类,意味着Unity终于有了自己原生态的JSON库.Unity主要用来游戏开发,JSON做为游戏开发中最受欢迎的配置文件.在官方没有库支 ...
- MVC中的Controller
Controller是MVC模式中的三个核心元素之一. MVC模式中的Controller主要负责响应用户的输入, 并在响应时修改Model. MVC提供的是方法调用的结果, 而不是动态生成的页面. ...
- TCP/IP详解--连接状态变迁图CLOSE_WAIT
终止一个连接要经过4次握手.这由TCP的半关闭(half-close)造成的.既然一个TCP连接是全双工(即数据在两个方向上能同时传递,可理解为两个方向相反的独立通道),因此每个方向必须单独地进行关闭 ...