.net Core 请求外网接口的HttpGet和HttpPost 公共方法的调用

    /// <summary>
    /// Get请求发送
    /// </summary>
    /// <param name="requestUrl">url地址</param>
    /// <returns></returns>
    public static async Task<string> DoGet(string requestUrl)
    {
        string responseBody = string.Empty;
        using (HttpClient httpClient = new HttpClient())
        {
            httpClient.DefaultRequestHeaders.Add("Method", "Get");
            httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
            httpClient.DefaultRequestHeaders.Add("UserAgent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");

            HttpResponseMessage response = await httpClient.GetAsync(requestUrl);
            response.EnsureSuccessStatusCode();
            responseBody = await response.Content.ReadAsStringAsync();
        }
        return responseBody;
    }
    /// <summary>
    /// post请求
    /// </summary>
    /// <param name="Url"></param>
    /// <param name="message"></param>
    /// <returns></returns>
    public static async Task<T> DoPost<T>(string Url, object message) where T : new()
    {
        var res = new T();
        string jsonContent = JsonConvert.SerializeObject(message);
        string responseBody = string.Empty;
        using (HttpClient httpClient = new HttpClient())
        {
            var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
            httpClient.DefaultRequestHeaders.Add("Method", "Post");
            HttpResponseMessage response = await httpClient.PostAsync(Url, content);
            response.EnsureSuccessStatusCode();
            responseBody = await response.Content.ReadAsStringAsync();
            res = (T)JsonConvert.DeserializeObject<T>(responseBody);
        }
        return res;
    }
}

版权声明:本文为qq_24025219原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。