401 (Unauthorized)在尝试访问REST API时发生错误。

12 浏览
0 Comments

401 (Unauthorized)在尝试访问REST API时发生错误。

基本上,我正在尝试连接到在线的REST API。很简单吧?

然而,每当我尝试连接时,我都会遇到401(未经授权)错误。我正在使用C#控制台应用程序进行测试,我还尝试使用PUTMAN(Google Chrome应用程序来查看HTTP请求)。

这是我使用的API链接:https://community.dynatrace.com/community/display/APMSAASDOC/Login+-+REST+API

我按照所有列出的步骤进行操作。我知道我的用户名和密码是正确的(已登录到Dynatrace Portal)。有人知道可能出了什么问题吗?以下是我的代码(由于明显的原因,我已删除了实际的用户名和密码):

0
0 Comments

问题出现的原因可能是在client.GetAsync方法调用的末尾,HTTP/1.1字符串可能被转换为password=MYPASSWORD%20HTTP/1.1(或类似的字符串),从而导致错误。尝试去除该部分,看看是否能够解决问题。

另外一个可能的解决方案是参考这个帖子的答案。总结起来,似乎需要在请求中添加一个斜杠,并且GetAsync方法的字符串不能以斜杠开头。

不幸的是,这种方法并没有起作用:/ 我之前也认为这可能是问题的原因,但是没有任何改变。

0
0 Comments

问题原因:公司账户问题,由于账户从旧门户迁移到新门户,导致访问REST API时出现401(未授权)错误。

解决方法:联系公司并通知他们问题出在账户迁移上,确认问题并解决。

很抱歉给大家带来困扰。问题出在公司账户本身。我联系了他们,他们注意到问题是由于从旧门户迁移到新门户的账户迁移引起的。所以问题并不在我们这边。感谢大家的帮助!

0
0 Comments

当尝试访问REST API时出现401(未经授权)的错误。

问题的原因是在GET url的末尾删除" HTTP/1.1",它被添加到密码的末尾,导致出现401错误。

解决方法是从GET url的末尾删除" HTTP/1.1"。下面是一个示例代码:

// 原始GET url

var url = "https://api.example.com/restapi?key=value HTTP/1.1";

// 修正后的GET url

var correctedUrl = "https://api.example.com/restapi?key=value";

通过删除" HTTP/1.1",我们可以解决401错误。这样,我们就可以成功访问REST API了。

0