gpt4 book ai didi

C# GitHub SCIM API//cURL和HttpClient的区别

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:14 25 4
gpt4 key购买 nike

我在使用 GITHUB API 时遇到了一个奇怪的错误。当我使用 cURL 与他们联系时:

curl.exe -H "Accept: application/vnd.github.cloud-9-preview+json+scim" -H "Authorization: Bearer TOKEN" https://api.github.com/scim/v2/organizations/[ORG]/Users

当我尝试将它带到 C# 时,如果变成:

 using (var cl = new HttpClient())
{
cl.DefaultRequestHeaders.Add("Accept", "application/vnd.github.cloud-9-preview+json+scim");
cl.DefaultRequestHeaders.Add("Authorization", "Bearer " + "TOKEN");
var val = cl.GetStringAsync("https://api.github.com/scim/v2/organizations/[ORG]/Users").Result;
}

当我运行我的 cURL 时,一切正常,但当我在 C# 上尝试同样的操作时,我收到了 403 错误。

会不会跟“Accept”这个非标准字段有关?

最佳答案

我发现 GITHUB API 需要设置 User-Agent header 。

将其设置为“curl”即可。

using (var cl = new HttpClient())
{
cl.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/vnd.github.cloud-9-preview+json+scim"));
cl.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "token");
cl.DefaultRequestHeaders.UserAgent.Add(new System.Net.Http.Headers.ProductInfoHeaderValue("curl", "7.46.0"));
var val = cl.GetStringAsync("https://api.github.com/scim/v2/organizations/[ORG]/Users").Result;
}

关于C# GitHub SCIM API//cURL和HttpClient的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47780871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com