请求模块重定向 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,因此没有重定向。
我希望能够在不使用 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,因此没有重定向。