/// <summary>
/// 提交Json接口的数据方法
/// </summary>
/// <param name="Url"></param>
/// <param name="jsonParas"></param>
/// <returns></returns>
public string Post(string Url, string jsonParas)
{
string postContent = "";
string strURL = Url;
//创建一个HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
//Post请求方式
request.Method = "POST";
//内容类型
request.ContentType = "application/json;charset=UTF-8";
//设置参数,并进行URL编码
string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas);
byte[] payload;
//将Json字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
//设置请求的ContentLength
request.ContentLength = payload.Length;
//发送请求,获得请求流
Stream writer;
try
{
writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象
}
catch (Exception)
{
writer = null;
postContent = "连接服务器失败!";
}
//将请求参数写入流
writer.Write(payload, 0, payload.Length);
writer.Close();//关闭请求流
// String strValue = "";//strValue为http响应所返回的字符流
HttpWebResponse response;
try
{
//获得响应流
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
response = ex.Response as HttpWebResponse;
}
Stream s = response.GetResponseStream();
// Stream postData = Request.InputStream;
StreamReader sRead = new StreamReader(s);
postContent = sRead.ReadToEnd();
sRead.Close();
return postContent;//返回Json数据
}
调用示例
//写入接口参数准备
string param = string.Format("tano={0}&taType=1", detail.tano);//签名对象
string sign = Md5.md5(param, 32).ToUpper();//签名生成,具体根据接口文档
string urlResult = url + "/tenant/submitDetail?" + param;
List<SubmitDetailInterface> detailInterfaces = new List<SubmitDetailInterface>();
SubmitDetailInterface detailInterface = new SubmitDetailInterface()
{
id = detail.id,
act = detail.act,
supplyBase = detail.supplyBase,
amount = detail.amount,
baseNo = detail.baseNo,
carModel = detail.carModel,
partModel = detail.partModel,
partName = detail.partName,
partNo = detail.partNo,
prodBase = detail.prodBase,
supplyName = detail.supplyName,
supplyNo = detail.supplyNo,
taName = detail.taName,
tano = detail.tano,
taType = detail.taType,
updateAt = detail.updateAt,
unit = detail.unit
};
detailInterfaces.Add(detailInterface);
string jsonParas = JsonConvert.SerializeObject(new { sign = sign, isIncrement = "1", data = detailInterfaces });
//写入
string relust = Post(urlResult, jsonParas);
CAResult cA = JsonConvert.DeserializeObject<CAResult>(relust);//返回结果
public class CAResult //返回结果接收类,根据实际情况创建
{
public bool success { get; set; }
public string message { get; set; }
public string code { get; set; }
public string result { get; set; }
}