C# Http协议接口请求类

public class HttpJsonContent : StringContent
{
    public HttpJsonContent(object obj) :
        base(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json")
    { }
}

public class WebApiService
{
   
    public static  string APIConnection(string APIHost,string APIRoute, object PostData,string ContentType= "application/json", string MethodType="POST", string TokenHeader= "Authorization", string APIToken="")
    {
        var result = "";
        if (string.IsNullOrEmpty(APIHost)||string.IsNullOrEmpty(APIRoute))
        {
            return result;
        }
        try
        {

            using (var client = new HttpClient())
            {
                if (!string.IsNullOrEmpty(APIToken)&&!string.IsNullOrEmpty(TokenHeader))
                {
                    client.DefaultRequestHeaders.Add(TokenHeader, APIToken);
                }

                var url = APIHost + APIRoute;
                HttpResponseMessage response = null;

                switch (MethodType)
                {
                    case "POST":
                        using (HttpContent httpContent = new HttpJsonContent(PostData))
                        {
                           
                            response = client.PostAsync(url, httpContent).Result;

                            //确保Http响应成功
                            if (response.IsSuccessStatusCode) 
                            {
                                result = response.Content.ReadAsStringAsync().Result;

                            }
                        }
                        break;
                    case "GET":
                        response = client.GetAsync(url).Result;
                        result = response.Content.ReadAsStringAsync().Result;

                        break;
                    default:
                        break;
                }

               
            }
        }
        catch (Exception ex)
        {

            return result;
        }
       

        return result;

    }



}

  

posted @ 2024-05-23 11:08  奔跑的虫呙牛  阅读(8)  评论(0)    收藏  举报