调用API接口时的方法:
参数:url 是调用的api地址
body 是序列化后的参数
message 是返回过来的错误信息
具体方法代码:
public static string SendRequest(string url, string body, ref string message)
{
var response = string.Empty;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Accept = "application/josn, */*";
httpWebRequest.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
httpWebRequest.Method = "POST";
byte[] requestContent = Encoding.UTF8.GetBytes(body);
httpWebRequest.ContentLength = requestContent.Length;
try
{
// send data
using (Stream writeStream = httpWebRequest.GetRequestStream())
{
writeStream.Write(requestContent, 0, requestContent.Length);
}
// Get response
using (HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
using (Stream responseStream = httpResponse.GetResponseStream())
{
StreamReader responseStreamReader = new StreamReader(responseStream, Encoding.UTF8);
response = responseStreamReader.ReadToEnd();
}
}
}
catch (Exception ex)
{
// 发送数据或者获得发送结果发生错误
message = ex.Message;
}
// 返回发送数据的结果
return response;
}
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
调用方法的代码:
var resulttest = HttpUtil.SendRequest(url, JsonConvert.SerializeObject(request), ref remark);