def get_Auth():
USERNAME = User.get("1.0", END)
PASSWORD = Pass.get("1.0", END)
print(USERNAME)
print(PASSWORD)
url = 'https://ps.lphs.net/public/home.html'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.92 Safari/537.36 Vivaldi/1.6.689.34'}
g = requests.get(url)
soup = BeautifulSoup(g.content)
'Find The Values'
PSTOKEN = None
CONTEXTDATA = None
for input in soup.find_all('input')[0:1]:
PSTOKEN = input.get('value')
print(PSTOKEN)
for input in soup.find_all('input')[1:2]:
CONTEXTDATA = input.get('value')
print(CONTEXTDATA)
payload = {
'pstoken': PSTOKEN,
'contextData': CONTEXTDATA,
'dbpw': '',
'translator_username': '',
'translator_password': '',
'translator_ldappassword': '',
'returnUrl': 'https://ps.lphs.net/guardian/home.html',
'serviceName': 'PS Parent Portal',
'serviceTicket': '',
'pcasServerUrl': '\ /',
'credentialType': 'User Id and Password Credential',
'account': USERNAME,
'pw': PASSWORD,
'translatorpw': ''
}
r = requests.post(soup, data=payload)
print(r)
我正在尝试登录PowerSchool并从需要登录的页面中获取成绩。我一直在看一个又一个视频,不知道为什么它不起作用。我有一个Tkinter窗口,询问我的用户名和密码,然后用它登录到那个网站。但是当我运行它时,我得到的只是登录页面的源代码。下面是inspect元素下的Network选项卡的图片。在
我不知道这里出了什么问题,我已经调查了一段时间了。 提前谢谢!在
我没有账户要测试,但你目前的方法有很多地方是错误的:
密码(
pw
字段)通过以下函数(定义为here)散列:您不能每次发出请求时都具有相同的令牌值。必须从实际表单中获取令牌值。这意味着您需要首先“获取”
home.html
,提取令牌值,然后在“POST”请求中使用它们。对于第二个问题,您可能需要尝试诸如
mechanize
或mechanicalSoup
这样的操作会自动“填充”其余的表单字段。但是,他们不能执行JavaScript,这在这个特殊情况下非常重要。在如果您想避免处理所有这些问题,请研究浏览器自动化和^{} package 。在
相关问题 更多 >
编程相关推荐