/// <summary>
/// 调用api返回json
/// </summary>
/// <param name="url">api地址</param>
/// <param name="jsonstr">接收参数</param>
/// <param name="type">类型</param>
/// <returns></returns>
public static string HttpApi(string url, string jsonstr, string type)
{
try
{
Encoding encoding = Encoding.UTF8;
if (url.StartsWith("https"))
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);//webrequest请求api地址
//短链接
request.KeepAlive = false;
request.Accept = "text/html,application/xhtml+xml,*/*";
request.ContentType = "application/json";
request.Method = type.ToUpper().ToString();//get或者post
byte[] buffer = encoding.GetBytes(jsonstr);
request.ContentLength = buffer.Length;
request.Headers.Add("user-off", "webg");
request.Headers.Add("token", token);
var mac = Tool.GetMacByNetworkInterface();
request.Headers.Add("code", mac);
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
result = reader.ReadToEnd();
}
var items = (JObject)JsonConvert.DeserializeObject(result);
if ((int)items["code"] == 5011)
{
//MessageBox.Show("账号异地登录,请重新登录!");
//LoginUserInfo.CurrentUser = null;
}
return result;
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message + " " + url);
//Tool.ExceptionMessageBox(ex);
var msg = "{ code:404 ,data: '',msg: '"+ ex.Message + "'}";
return msg;
}
}
调用方法:
string url = Urls.insertLog + "?userName=" + userName;
var handle = APIHelper.HttpApi(url, "0", "POST");