如何使用C#获取User-Agent标头以访问GitHub API

时间:2018-11-09 09:41:16

标签: c# github-api

我正在尝试制作一个小型应用程序以将GitHub API的结果转换为文本文件。首先,我试图将数据获取到控制台。我尝试了许多方法以及许多文档的引用,但是我找不到方法解决此问题。

https://api.github.com/users/user?client_id=8763c42f48201b31115f&client_secret=4708b9aea8e35878b9748a016198b81de24352a4 要求被行政法规禁止。请确保您的请求具有User-Agent标头(http://developer.github.com/v3/#user-agent-required)。检查https://developer.github.com是否有其他可能的原因

这是我使用的示例代码。有谁能帮助我解决有关User-Agent header

的问题
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            GetGameData().Wait();     
        }
        public static async Task<string> GetGameData()
        {

            var url = "https://api.github.com/users/user?client_id=8763c42f48201b31115f&client_secret=4708b9aea8e35878b9748a016198b81de24352a4";
            using (HttpClient client = new HttpClient())
            {
                    client.BaseAddress = new Uri(url);
                    Console.WriteLine(client.BaseAddress);
                    HttpResponseMessage response = await client.GetAsync(url);
                    string strResult = await response.Content.ReadAsStringAsync();
                    Console.WriteLine(strResult);
                    return strResult;
            } 
        }

    }
}

1 个答案:

答案 0 :(得分:0)

对于使用HttpClient而言,Jimi的评论对我有用:

client.DefaultRequestHeaders.Add("User-Agent", @"Mozilla/5.0 (Windows NT 10; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0");

此问题的示例使用HttpClient,但如果要使用WebClient,请参见以下问题:Setting the User-Agent header for a WebClient request