首页 > 解决方案 > 如何使用 HttpClient 在 c# 中调用 Web api?

问题描述

因此,如果我使用邮递员或 insomia 调用 api,我试图在我的 C# 方法中调用 api,但没有得到我会得到的响应。

public static async  Task GetObject()
        {
            var httpClient = new HttpClient();
            //var t = await httpClient.GetStringAsync("https://ipapi.co/json/");

            var y = await httpClient.GetAsync("https://ipapi.co/json/");


            var o = await y.Content.ReadAsStringAsync();

            var j = y.Content.ReadAsStringAsync();

        }

api 正在收到我的请求,但它没有返回正确的结果。你应该得到这个结果。点击这个https://ipapi.co/json/

得到的是这个

{  
   "error":true,
   "reason":"RateLimited",
   "message":"Sign up for IP Address Location API @ https://ipapi.co"
}

但我不明白,什么时候使用邮递员

标签: c#asp.net-core-webapi

解决方案


您需要添加用户代理标头。

httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1");

推荐阅读