使用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)中文 "超文本传输协议",是一种为分布式,合作式,多媒体信息系统服务,面向应用层 ...
随机推荐
- 初始化char指针--赋值和strcpy() 本质区别【转】
原文地址:http://hi.baidu.com/todaygoodhj/item/0500b341bf2832e3bdf45180 使用常量字符串初始化char指针,或者使用strcpy复制,从语法 ...
- 实验验证redis的快照和AOF
安装配置redis http://www.cnblogs.com/myrunning/p/4222385.html 验证redis的主从复制 http://www.cnblogs.com/myrunn ...
- oracle initialization or shutdown in progress问题解决步骤
今天像往常一样打开电脑,启动plsql工具连接数据库,但是尽然连接不了,报了“oracle initialization or shutdown in progress”的提示信息,从操作系统 ...
- Python 基础 - 统计文本里单词的个数以及出现的次数
# -*- coding:utf-8 -*- #author:V def tol (file1,gui): #写一个方法,定义文件,or 匹配规则 import re patt = re.compil ...
- 字符串格式化命令 sprintf
原型 int sprintf( char *buffer, const char *format, [ argument] … ); 参数列表 buffer:char型指针,指向将要写入的字符串的缓冲 ...
- MySQL数据库初用(5.6版本)第一课
参考:http://wenku.baidu.com/link?url=NlX55fDDQ02wESO1HNkxpvju2xATwe9Fym0MfojWddXbYaJcjEKKRF9z9EX4b7shV ...
- freemarker判断对象是否为空
freemarker中显示某对象使用 ${name}. 但如果name为null,freemarker就会报错.如果需要判断对象是否为空: <#if name??> …… </# ...
- 如何查看JDK以及JAVA框架的源码
如何查看JDK以及JAVA框架的源码 设置步骤如下: 1.点 “window”-> "Preferences" -> "Java" -> &q ...
- Python基础(深、浅拷贝)
深.浅拷贝 基础:对象,引用,可变与可变 对于不可变的对象,如字符串.元组.数字深浅拷贝没有什么意义. 1.浅拷贝 浅拷贝只拷贝第一层对象(拷贝的实际是一个框子,拷贝过去的框子是不会变的,但是原先的框 ...
- dubbo源码分析5-dubbo的扩展点机制
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分 ...