使用python请求进行Web登录

2024-04-18 14:24:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在vsco帐户上进行字典攻击(出于测试目的),我已经成功地使用python selenium进行了一次攻击,两次尝试之间有0.5秒的延迟,但是我正在尝试使用远程登录功能重写程序,我创建了一个测试帐户并捕获了登录后的url:https://www.vsco.co/ajx/user/doLogin,网站登录页是:https://www.vsco.co/user/login,下面的代码是我试图作为一个测试,以获得成功登录的结果,但是,如果凭据正确,我仍然无法看到vsco主页或/user/account页的源代码中有任何差异。如果有什么我错过了或有另一种方法来远程这将是伟大的。(如果它注意到“Share Your VSCO Profile”,它将返回yes,因为您只有在登录时才能看到此页面。)

#!/usr/bin/env python
#https://www.vsco.co/ajx/user/doLogin
import socket
import requests
#url = 'https://www.vsco.co/user/login'
url = 'https://www.vsco.co/ajx/user/doLogin'
payload = {'login' : 'account_name', 'password' : 'mypassword'}
s = requests.Session()
r = s.post(url,data=payload,allow_redirects=True)
print(r.status_code)
p = s.get('https://www.vsco.co/user/account')
#print(str(p.text))
if('Share Your VSCO Profile' in str(p.text)):
        print('Yes')

Tags: httpsurlshareyour远程wwwlogin帐户
1条回答
网友
1楼 · 发布于 2024-04-18 14:24:56

如果打开登录页面上的web控制台,您将看到登录表单中有一个隐藏字段。另外,如果您检查Post请求,则会发送一个额外的参数。你知道吗

您可以尝试在post请求中查找并设置这些额外参数。你知道吗

一个更简单的选择可能是使用无头浏览器而不是请求。(类似于带有selenium python绑定的phantomJS)

相关问题 更多 >