gpt4 book ai didi

c# - 如何在 C# 中使用 WebRequest 和 HttpWebResponse 导航到身份验证 URL 并登录网站?

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

我正在尝试使用 MindMeister API(如此处记录:http://www.mindmeister.com/developers/authentication)制作桌面应用程序。到目前为止,我能够生成一个身份验证 url,如他们的开发人员指南中所述,其中包含一个 api key 和一个共享 secret ,最终看起来像这样:http://www.mindmeister.com/services/auth/?api_key=abc123&perms=delete&api_sig=zxy987

如果我将该 url 复制并粘贴到我的浏览器中,它会将我带到他们的登录页面。一旦我登录,它就会说我的应用程序已经通过身份验证,我可以继续我的应用程序,然后我可以开始使用不同的 REST API 方法。我想导航到该身份验证 URL 并以编程方式登录 MindMeister,而无需将身份验证 URL 复制并粘贴到浏览器中。

到目前为止,我已经尝试过类似的方法

        string authenticate 
= @"http://www.mindmeister.com/services/auth/?"
+ api_key=abc123&perms=delete&api_sig=zxy987";
WebRequest request = WebRequest.Create(authenticate);
@"https://www.mindmeister.com/account/login");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//response.ResponseURI == @"https://www.mindmeister.com/account/login"

WebRequest request2 = WebRequest.Create(response.ResponseUri);
request2.Credentials = new NetworkCredential("username", "password");
HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();

但这行不通。

我能否获得一些关于如何完成我想要的东西的指导?我几乎没有使用 WebRequest 或 HttpWebResponse 的经验,因为我基本上只是在 StackOverflow 上复制并粘贴其他解决方案。

最佳答案

从文档来看,这种登录方式似乎不受官方支持。请记住,如果不喜欢使用 API key 的方式,大多数使用 API key 运行的服务都可以并且将会撤销该 key 。

但是,用户每次启动您的应用程序时可能都不需要登录。

看来,如果您使用 mm.auth.getFrob 方法获得 frob 并将其作为参数传递给登录,您就可以使用相同的 frobmm.auth.getToken 方法上。然后,您可以将此 token 存储在用户桌面上的某个位置,并可以在将来使用它来使用方法。

这应该一直有效,直到用户主动撤销对您的应用程序的权限。

关于c# - 如何在 C# 中使用 WebRequest 和 HttpWebResponse 导航到身份验证 URL 并登录网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090793/

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