public MessageInfo ReadApiDataPost(string url, string parJsonStr)
{
MessageInfo mi = new MessageInfo();
try
{
//先根据用户请求的uri构造请求地址
//string serviceUrl = string.Format("{0}/{1}", BaseUri, uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
//数据转成“UTF-8”的字节流
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(parJsonStr);
myRequest.Method = "POST";
myRequest.ContentLength = buf.Length;
myRequest.ContentType = "application/json;UTF-8";
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//发送请求
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//解决编码问题
mi.data = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
mi.code = 200;
mi.msg = "成功";
reader.Close();
myResponse.Close();
}
catch (Exception ex)
{
mi.data = ex.ToString();//利用StreamReader就可以从响应内容从头读到尾
mi.code = 500;
mi.msg = "失败";
}
return mi;
}
public class MessageInfo
{
public int code { get; set; }
public string msg { get; set; }
public int count { get; set; }
public object data { get; set; }
}
C#调用第三方接口工具类方法
于 2024-06-25 18:36:15 首次发布