【发布时间】:2018-09-02 08:32:05
【问题描述】:
我编写了一个 python 脚本,它将 GET 请求发送到某个特定的网站。 为了执行这个请求,我需要附上我在登录时获得的访问令牌。 问题是访问令牌每 15 分钟更改一次,我必须使用 Chrome Devtool(网络选项卡)一遍又一遍地找到它。我想知道是否有任何方法可以自动获取新令牌,或者以任何其他方式执行此 GET 请求,而不使用此访问令牌,而仅使用此网站的凭据(用户名和密码)。 现在,我就是这样做的(注意,提供的数据不是真实的,所以请不要尝试使用):
url = "https://www.containers.io/web/alerts"
querystring = {"access_token":"cfc6f6d22f00303fb7ac--f","envId":"58739be2c2","folderId":"active","sortBy":"status"}
headers = {
'origin': "https://www.containers.io",
'accept-encoding': "gzip, deflate, br",
'accept-language': "en-US,en;q=0.9",
'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
'accept': "application/json, text/plain, */*",
'referer': "https://www.containers.io",
'connection': "keep-alive",
'cache-control': "no-cache",
}
response = requests.request("GET", url, headers=headers, params=querystring)
JSON_format = response.json()
【问题讨论】:
-
他们试图阻止你做这样的事情。你不应该试图绕过它。
-
也就是说,浏览器能做的任何事情,你都可以用 Python 做。使用 DevTools 查看浏览器如何获取更新的令牌,然后在您的脚本中编写代码。
标签: python get google-chrome-devtools access-token