请求模块重定向 URL 不适用于 Twitter

requests module redirect URL not working with Twitter

我希望能够在不使用 Twitter 的情况下使用 Twitter 用户 ID 获取 Twitter 用户的用户名 API。

我试图通过从请求模块获取重定向 URL(并从 URL 获取用户名)来实现此目的;但是,它一直没有用。

这是我试过的:

import requests

response = requests.get('https://twitter.com/i/user/783214')
url = response.url

# should print https://twitter.com/Twitter but prints https://twitter.com/i/user/783214
print(url)

为什么这里没有返回正确的重定向 URL?谢谢!

这是因为 Twitter 不使用 HTTP 重定向。

它可能使用 Javascript 形式的重定向,例如更改 window.location.href,请求不是浏览器,因此它不会在您请求的页面中执行 javascript,因此没有重定向。