我无法登录 Instagram:“CSRF 令牌丢失或不正确”

Eoa*_*neh 24 python selenium python-3.x instagram csrf-token

我正在使用 Selenium Python 登录 Instagram 并打开一些页面。它工作正常,但两天后 Instagram 开始发送消息“CSRF 令牌丢失或不正确”。现在我什至无法使用脚本或手动登录任何帐户以及笔记本电脑上的任何浏览器(例如 Chrome 或 FireFox)。

我不会用我的 Selenium 发送任何 cookie。大多数搜索结果都是关于我没有使用的 Django。

  • 我删除了cookie,但它不起作用。

  • 我尝试更改我的 IP 地址,以确定我是否被禁止使用 Instagram,但没有成功。

  • 我尝试使用 Selenium 检查 URL 中的 scrf-token 并将其发送给驱动程序,但它不起作用。

我不确定解决方案是否在代码中,因为现在我什至无法手动登录,所以也许我的系统设置或 Instagram 端有问题。

我可以用 Selenium 解决这个问题吗?或者我该如何解决这个问题?

350*_*50D 32

在浏览器的 JS 控制台中运行一个衬垫来修复 CSRF 令牌问题:

n=new Date;t=n.getTime();et=t+36E9;n.setTime(et);document.cookie='csrftoken='+document.body.innerHTML.split('csrf_token')[1].split('\\"')[2]+';path=\;domain=.instagram.com;expires='+n.toUTCString();
Run Code Online (Sandbox Code Playgroud)

打开JS控制台,复制粘贴,按回车键。重新加载页面并尝试再次登录。此 js 片段将在页面源中查找 CSRF 令牌并为您创建 cookie。


小智 18

打开Chrome浏览器开发者工具,然后转到Instagram的登录页面。在网络选项卡中,找到如下请求: https: //www.instagram.com/

单击请求,然后在响应选项卡中按Ctrl +F并搜索csrf_token。复制csrf的值,然后进入应用程序选项卡。在存储部分中,单击 cookie 并插入名称为 csrftoken 的 cookie。粘贴该值并确保其安全。现在填写登录表格并按Enter


小智 8

我有同样的问题。我使用VPN连接到美国,之后就没有任何“CSRF令牌丢失”消息了。