You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#调用GitHub API添加自定义Header无效问题求助

解决GitHub API无法识别自定义Time-Zone Header的问题

我来帮你搞定这个问题!GitHub API确实支持通过Time-Zone Header指定返回时间的时区,但你的代码可能在Header设置方式或格式上出了小问题,下面一步步排查和修正:

1. 用正确方式添加自定义Header

你用的HttpWebRequest直接通过索引赋值request.Headers["Time-Zone"],有时候会因为框架限制无法正确将Header加入请求。更可靠的做法是用Headers.Add()方法添加:

// 替换成你需要的标准时区名称,比如"Asia/Shanghai"或"America/New_York"
request.Headers.Add("Time-Zone", "Asia/Shanghai");

2. 确认时区格式符合要求

GitHub API只接受IANA时区数据库中的标准时区名称,比如Asia/Shanghai、Europe/London这类,不能用GMT+8、UTC+5这类格式。格式不对的话,API会直接忽略这个Header,默认用UTC时区返回时间。

3. 验证请求是否真的发送了Header

可以用抓包工具(比如Fiddler)或Postman手动模拟请求:

  • 调用目标GitHub API端点,手动添加Time-Zone: Asia/Shanghai Header
  • 查看返回的提交时间是否符合指定时区,同时检查响应头里的X-GitHub-Time-Zone字段,它会返回API实际使用的时区,确认是否和你设置的一致

4. 修正后的完整代码示例

这里补全并修正了你的代码,确保Header正确添加:

public string MakeRequestGitHub(string url, Dictionary<string, string> parameters = null)
{
    // 先处理参数拼接(如果有)
    if (parameters != null && parameters.Count > 0)
    {
        string queryString = string.Join("&", 
            parameters.Select(kvp => $"{Uri.EscapeDataString(kvp.Key)}={Uri.EscapeDataString(kvp.Value)}"));
        url = $"{url}?{queryString}";
    }

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.ContentType = "application/vnd.github.v3+json";
    request.Method = "GET";
    request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0";
    
    // 正确添加Time-Zone Header
    request.Headers.Add("Time-Zone", "Asia/Shanghai");

    // 处理响应
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using (Stream stream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        return reader.ReadToEnd();
    }
}

额外提示

如果还是没生效,可以检查:

  • 你调用的API端点是否支持Time-Zone Header(大部分GitHub核心API端点都支持,比如提交、Issue、PR相关接口)
  • 有没有代理或防火墙拦截了自定义Header的传递

内容的提问来源于stack exchange,提问作者Antonin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:21:14