作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当尝试从 github apir 获取数据时,我得到了 403。我想使用基本身份验证(用户名和密码)。
我也尝试过不使用凭据缓存并设置直接凭据,结果相同。
我做错了什么?
string url = "https://api.github.com/search/users?q=gentlehag"
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.Proxy = null;
request.PreAuthenticate = true;
var crds = new NetworkCredential(Username, Password);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(new Uri(url), "Basic", crds);
request.Credentials = myCredentialCache;
request.KeepAlive = false;
request.Accept = "application/vnd.github.v" + Version + "+json";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
我也试过像这样在隐藏器中设置基本身份验证
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(Username + ":" + Password)));
-> 相同的结果。
在配置中,我将下面的配置设置为不获取 ProtocolViolationException
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing = "true"/>
</settings>
</system.net>
最佳答案
经过大量尝试和深入研究 octokit 源代码后,我找到了解决方案。
我必须设置一个用户代理。
添加
request.UserAgent = "myTestApp";
帮我解决了。也许这可以帮助别人
关于basic-authentication - Github Api Basic认证尝试获取数据时报错403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23274344/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!