C# 401访问API时出错

C# 401访问API时出错,c#,xml,json,api,xmlhttprequest,C#,Xml,Json,Api,Xmlhttprequest,我看到了对这个问题的一些回应,但在我的案例中似乎没有一个是有效的。情况是这样的 我正在使用thetvdb.com上的API 我正在通过API加载XML。如果我运行应用程序,它将给我一个401错误。如果我先在IE中加载URL,然后运行应用程序,它会加载得很好 我怀疑这是一个cookie问题,但我不确定在我下面的请求中如何传递cookie var _doc = new XmlDocument(); _doc.Load(_url); 提前感谢您的帮助。 这意味着您需要联系提供API的人员,并询问他们

我看到了对这个问题的一些回应,但在我的案例中似乎没有一个是有效的。情况是这样的

我正在使用thetvdb.com上的API

我正在通过API加载XML。如果我运行应用程序,它将给我一个401错误。如果我先在IE中加载URL,然后运行应用程序,它会加载得很好

我怀疑这是一个cookie问题,但我不确定在我下面的请求中如何传递cookie

var _doc = new XmlDocument();
_doc.Load(_url);
提前感谢您的帮助。

这意味着您需要联系提供API的人员,并询问他们如何进行身份验证

每个提供商的服务都不同。
应该询问的人是那些提供web服务/API的人

这意味着您需要联系提供API的人员,并询问他们如何进行身份验证

每个提供商的服务都不同。

应该询问的人是那些提供web服务/API的人

经过大量阅读和反复尝试,我终于明白了这一点。我已经在几个网站上对此进行了测试

WebRequest _wr = WebRequest.Create(_url);
_wr.UseDefaultCredentials = true;
_wr.PreAuthenticate = true;
_wr.GetResponse();
//do your stuff
_wr.Dispose();

这似乎重复了我在启动应用程序时手动打开浏览器并导航到页面以防止401错误的步骤。我希望这对其他人有所帮助,因为我理解挫折感。

经过大量阅读和反复尝试,我终于明白了这一点。我已经在几个网站上对此进行了测试

WebRequest _wr = WebRequest.Create(_url);
_wr.UseDefaultCredentials = true;
_wr.PreAuthenticate = true;
_wr.GetResponse();
//do your stuff
_wr.Dispose();

这似乎重复了我在启动应用程序时手动打开浏览器并导航到页面以防止401错误的步骤。我希望这对其他人有所帮助,因为我理解这种挫折感。

不过,我猜这可能是通过证书实现的。IE识别了它,但.NET运行时并不表明证书用于对您进行身份验证,IE识别证书,但.NET运行时不识别证书。API是thetvdb.com,身份验证是通过API密钥完成的。所以没有人遇到过这个问题?我在三家不同的供应商那里遇到过它,每个人的解决方案都不一样。我从来没有使用过thetvdb.com,但我坚持我最初的回答,“应该问的人是那些提供web服务/API的人”。不过,我猜这可能是通过证书实现的。IE识别了它,但.NET运行时并不表明证书用于对您进行身份验证,IE识别证书,但.NET运行时不识别证书。API是thetvdb.com,身份验证是通过API密钥完成的。所以没有人遇到过这个问题?我在三家不同的供应商那里遇到过它,每个人的解决方案都不一样。我从未使用过thetvdb.com,但我坚持我最初的回答:“需要询问的人应该是提供web服务/API的人”。API是thetvdb.com,身份验证通过API密钥完成。除了API密钥之外,没有其他凭据可以传递,我也尝试发送头信息,但没有成功。API是thetvdb.com,身份验证是通过API密钥完成的。除了要传递的API密钥外,没有其他凭据,我也尝试发送头信息,但没有成功。