0
点赞
收藏
分享

微信扫一扫

C# 通过HttpWebRequest来调用webApi接口数据

外贸达人小峻先森 2022-01-13 阅读 68

 

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("账号密码错误", "登陆失败"); });
举报

相关推荐

0 条评论