/// <summary>
/// WEB-API,请求头方式调用
/// </summary>
/// <param name="requestUrl">请求地址</param>
/// <param name="dicdata">请求头参数</param>
/// 示例:入参: var dic = new Dictionary<string, string>();
/// dic.Add("code", "RMIS");
/// dic.Add("token", token);
/// <returns>服务返回数据</returns>
public static string RestPost(string requestUrl, Dictionary<string, string> dicdata)
{
Uri url = new Uri(requestUrl);
// 创建webrequest
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
request.Timeout = 180000;
//构建Header入参
foreach (var item in dicdata)
{
request.Headers.Add(item.Key, item.Value);
}
try
{
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
return reader.ReadToEnd();
}
}
catch (Exception e)
{
return e.Message;
}
}
/// <summary>
/// WEB-API调用
/// </summary>
/// <param name="requestUrl">请求地址</param>
/// <param name="dicdata">请求头参数</param>
/// 入参:var parm = "{\"key\":\"1011\",\"message\":\"<Request><Header></Header><Body></Body></Request>\"}";
/// 后端接收代码:
//[HttpPost]
//public IHttpActionResult GetResult([FromBody] DataInfo data)
//{
// var result = new DataInfo { key = data.key, message = data.message };
// return Json(result);
//}
/// <returns></returns>
public static string HttpPost(string requestUrl, string body)
{
Uri url = new Uri(requestUrl);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.Accept = "text/html, application/xhtml+xml, */*";
request.ContentType = "application/json";
request.Timeout = 180000;
try
{
var encoding = Encoding.UTF8;
byte[] buffer = encoding.GetBytes(body);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
}
catch (Exception e)
{
return e.Message;
}
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
catch (Exception e)
{
return e.Message;
}
}