绕过Twitter OAuth

5 投票
5 回答
2322 浏览
提问于 2025-04-16 17:05

基本上这是和这个问题一样的问题,不过我想找一个用Python解决的方法。 如何绕过Twitter的OAuth认证?

理想情况下,我不想费劲去设置用户登录界面和后台,因为我做的工作是为了内部使用。

我也想跳过需要把用户重定向到Twitter进行授权的那部分。

谢谢

5 个回答

1

我刚找到一个可以用的bash脚本,亲自测试过,只需要把--ssl改成--sslv3就行了。你可以在这个链接找到它:这个地方

这个脚本是基于一种更简单的认证方法,使用的是mobile.twitter.com上的方式。你也可以用urllib2re模块来实现类似的功能。


另外,你可以考虑使用像http://www.supertweet.net/这样的网站。

SuperTweet.net提供了一种安全的方式,可以在你的脚本和其他Twitter应用中使用基本认证来访问Twitter API。只需通过Twitter注册,授权MyAuth API Proxy SuperTweet.net应用,然后设置一个你自己选择的密码(不是你真实的Twitter密码),这样你的应用就可以使用这个密码来访问http://api.supertweet.net的API。

补充说明:我现在看到这个网站在一个回答中提到的文章里被引用过,如果你已经看过这个内容,可以忽略这部分。

3

从字里行间看,你有一个推特账号和密码,因为这是内部使用的,所以你不想用那种需要用户互动的认证流程,对吧?

OAuth的核心思想是,你永远不会知道用户的密码。我同意,如果我理解得没错,你想做的事情并不适合这种方式。JohnD提到的OOB流程也有同样的问题。

如果你确实有账号和密码,那么你可以直接通过网站的登录表单和发推表单进行操作。不幸的是,这意味着你无法使用API(他们去年取消了通过API的基本认证)——这可能会影响你想做的事情,具体要看你要做什么。

补充:

使用OAuth并记住令牌。根据推特API的文档,这个令牌是不会过期的。假设你有几个你关心的账号,你只需要为每个账号走一次OAuth的流程,之后就不用再管了,直到你需要另一个账号。只要给定用户名和密码,你甚至可以通过编程的方式完成整个过程,前提是他们没有在某个环节加上验证码。不过,我觉得你最好的选择还是使用OAuth并保存好这些令牌。

3

你需要使用Twitter的OOB流程。这个流程在这个回答中讲得很清楚。

Twitter API - OOB流程

撰写回答