1、定义传输协议
public enum HttpType
{
POST,
GET,
DELETE
}
2、访问代码
public static class HttpRequestManager
{
public static void HttpRespons(string url, HttpType httpType, string contenType, Action<string> _successCallBack = null, string token = null, Action _failCallBack = null)
{
try
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = httpType.ToString();
request.ContentType = contenType;
if (token != null)
{
request.Headers.Add("Authorization", "Bearer " + token);
}
var httpResponse = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
_successCallBack?.Invoke(result);
}
}
catch
{
_failCallBack?.Invoke();
}
}
}
3、调用
HttpRequestManager.HttpRespons("http://baidu.com/Api/Account/User/AccessToken?LoginId=" + userAccrout + "&Password=" + userPassword + "&Expiration=1200", HttpType.GET, "text/json", delegate (string resule)
{
JObject jsonObj = JObject.Parse(resule);
if (jsonObj["name"].ToString().Contains("name"))
{
string Token = jsonObj["token"].ToString();
}
else
{
MessageBox.Show("账号权限不匹配", "登陆失败");
}
}, null, () => { MessageBox.Show("账号密码错误", "登陆失败"); });