{
string url = "http://1111"; //服务器地址url
string response = Post(data, url, false, 6);//调用HTTP通信接口提交数据 --data为发送的数据--response为接收的数据
}
public string Post(object json, string url, bool isUseCert, int timeout)
{
string date = JsonConvert.SerializeObject(json);
System.GC.Collect();//垃圾回收,回收没有正常关闭的http连接
string result = "";//返回结果
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream reqStream = null;
try
{
//设置最大连接数
ServicePointManager.DefaultConnectionLimit = 200;
//设置https验证方式
/***************************************************************
* 下面设置HttpWebRequest的相关属性
* ************************************************************/
request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.Timeout = timeout * 1000;
//设置POST的数据类型和长度
request.ContentType = "application/json";
byte[] data = System.Text.Encoding.UTF8.GetBytes(date);
request.ContentLength = data.Length;
//往服务器写入数据
reqStream = request.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
//获取服务端返回
response = (HttpWebResponse)request.GetResponse();
//获取服务端返回数据
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = sr.ReadToEnd().Trim();
sr.Close();
}
catch (System.Data.Entity.Validation.DbEntityValidationException ex)
{
var msg = string.Empty;
var errors = (from u in ex.EntityValidationErrors select u.ValidationErrors).ToList();
foreach (var item in errors)
msg += item.FirstOrDefault().ErrorMessage;
return msg;
}
catch (System.Threading.ThreadAbortException e)
{
System.Threading.Thread.ResetAbort();
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError)
{
}
}
catch (Exception e)
{
}
finally
{
//关闭连接和流
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
}
return result; ;
}