HTTPClient跨域访问 ——Post请求
2016-07-19 15:10
351 查看
第一种字符串流:try
{
var url = "http://paas-logger-openops.myalauda.cn/api/core/logger/log.json";
var httpClient = new HttpClient();
var httpcontent = new StringContent("tag=ItemBank.info&logData={\"Messsage\":\"啊\"}", Encoding.UTF8);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var result = await httpClient.PostAsync(new Uri(url), httpcontent);
var response = await result.Content.ReadAsStreamAsync();
using (var reader = new StreamReader(response, Encoding.UTF8))
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(reader.ReadToEnd());
}
Console.ReadKey();
}
catch (Exception ex)
{
throw;
}
第二种json格式:
#region POST请求
/// <summary>
/// Post请求
/// </summary>
/// <param name="url">api的Controller/Action</param>
/// <param name="model">信息实体</param>
/// <returns></returns>
public string POST<T>(string url, [FromBody]T model)
{
if (model == null)
return "-1";
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
var requestJson = JsonConvert.SerializeObject(model);
HttpContent httpcontent = new StringContent(requestJson);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = httpClient.PostAsync(apiurl + url, httpcontent).Result.Content.ReadAsStringAsync().Result;
return result;
}
/// <summary>
/// Post请求
/// </summary>
/// <param name="url">api的Controller/Action</param>
/// <param name="id">信息标识</param>
/// <param name="rid">ID</param>
/// <returns></returns>
public string POST(string url, string id, string rid)
{
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
var requestJson = JsonConvert.SerializeObject(rid);
HttpContent httpcontent = new StringContent(requestJson);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = httpClient.PostAsync(apiurl + url + "/" + id, httpcontent).Result.Content.ReadAsStringAsync().Result;
return result;
}
#endregion
{
var url = "http://paas-logger-openops.myalauda.cn/api/core/logger/log.json";
var httpClient = new HttpClient();
var httpcontent = new StringContent("tag=ItemBank.info&logData={\"Messsage\":\"啊\"}", Encoding.UTF8);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var result = await httpClient.PostAsync(new Uri(url), httpcontent);
var response = await result.Content.ReadAsStreamAsync();
using (var reader = new StreamReader(response, Encoding.UTF8))
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(reader.ReadToEnd());
}
Console.ReadKey();
}
catch (Exception ex)
{
throw;
}
第二种json格式:
#region POST请求
/// <summary>
/// Post请求
/// </summary>
/// <param name="url">api的Controller/Action</param>
/// <param name="model">信息实体</param>
/// <returns></returns>
public string POST<T>(string url, [FromBody]T model)
{
if (model == null)
return "-1";
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
var requestJson = JsonConvert.SerializeObject(model);
HttpContent httpcontent = new StringContent(requestJson);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = httpClient.PostAsync(apiurl + url, httpcontent).Result.Content.ReadAsStringAsync().Result;
return result;
}
/// <summary>
/// Post请求
/// </summary>
/// <param name="url">api的Controller/Action</param>
/// <param name="id">信息标识</param>
/// <param name="rid">ID</param>
/// <returns></returns>
public string POST(string url, string id, string rid)
{
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
var requestJson = JsonConvert.SerializeObject(rid);
HttpContent httpcontent = new StringContent(requestJson);
httpcontent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var result = httpClient.PostAsync(apiurl + url + "/" + id, httpcontent).Result.Content.ReadAsStringAsync().Result;
return result;
}
#endregion
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- Android Manifest 用法
- 什么是 GraphQL?
- Spark RDD API详解(一) Map和Reduce
- Spring Boot 开发微服务
- 如何在 Linux/Windows/MacOS 上使用 .NET 进行开发
- lwn拾遗:[sn3218 led drivers]-api解释-1
- 页面元素查找之Selectors API
- 如何在 Linux 中安装微软的 .NET Core SDK
- 星外ASP.Net的安全设置相关说明
- 一个小型js框架myJSFrame附API使用帮助
- C#.NET获取拨号连接的宽带连接方法
- C#、ASP.NET通用扩展工具类之TypeParse
- C#.Net ArrayList的使用方法
- 详细分析交换机、路由器、集线器的区别和联系
- PowerShell打开或关闭光驱
- 批处理的api WMIC学习体会有感第1/2页
- 批处理 API实现文件下载的代码第1/2页
- Lua教程(十七):C API简介
- 强制删除工具 xdelbox xdelbox1.5正式版下载