Gravatar json 个人资料请求 403 禁止

Gravatar json profile request 403 forbidden

我目前正在通过编写 C# 应用程序来使用 gravatar api。

首先,我尝试获取我的头像。成功了。

之后,我尝试获取个人资料二维码。成功了。

现在,我想在 json 中检索我的个人资料信息。我按照网站给出的指示,写了这个:

using (var web = new HttpClient())
{
    using (var response = await web.GetAsync("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50"))
    {
        // ...

每次尝试时,我都会收到错误 403。 但是当我在我的网络浏览器中复制粘贴 url 时,或者如果我执行 wget,它工作正常 returns 预期结果。

我也试过这个,但我也收到错误:

var request = WebRequest.Create("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50.json");
using (var response = request.GetResponse())
{
    // ...

有人知道我的做法有什么问题吗?

在这种情况下,它不喜欢你没有传递 User-Agent HTTP header(而且我认为你不能作为 WebRequest,所以我们将它转​​换为HttpWebRequest):

var request = (HttpWebRequest)WebRequest.Create("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50.json");
        request.UserAgent = "Whatever user agent you'd like to use here...";
using (var response = request.GetResponse())
{
// ...

编辑:它可能会帮助您将来使用 Fiddler 之类的工具,以便您可以尝试重现浏览器的行为。