我试图使用python请求登录站点,但似乎无法使用下面的代码登录:
import requests
session = requests.Session()
data = {'j_username': 'name@gmail.com'}
session.post('http://www.broadinstitute.org/gsea/login.jsp', data=data)
r = session.get('http://www.broadinstitute.org/gsea/msigdb/genesets.jsp?
collection=CP:BIOCARTA')
print(r.content)不过,我不相信我在这里做错了什么,因为我在网上跟踪了一些帖子。
发布于 2017-05-02 05:04:41
了解它需要什么的最好方法是打开调试器控制台并单击网络选项卡,查看当您填写电子邮件并单击登录时会发生什么。是的,它只接收电子邮件,但在内部,它也发送另一个参数。
请看:您可以看到您需要的参数是什么以及名称是什么:

您需要传递:j_username和j_ j_username:‘password’,其中j_username是您键入的用户名。
另一个问题是:您的post请求应该在这里传递数据:http://software.broadinstitute.org/gsea/j_spring_security_check

看起来您不知道如何使用.All元素--这些图像来自images window.Use,
发布于 2017-05-02 05:01:04
登录页面中有一个隐藏的输入字段,即“j_password”,其值为常量“密码”。你不应该发到login.jsp,而应该发到那个url:检查
import requests
session = requests.Session()
data = {'j_username': 'name@gmail.com', 'j_password': 'password'}
session.post('http://software.broadinstitute.org/gsea/j_spring_security_check', data=data)
r = session.get('http://www.broadinstitute.org/gsea/msigdb/genesets.jsp?collection=CP:BIOCARTA')
print(r.content)我使用一个名为费德勒的程序来帮助我了解后台发生的事情。这真的很有帮助!
https://stackoverflow.com/questions/43729793
复制相似问题