注意:这是不重复。这是我第二次发布这个帖子,因为它被认为是重复的,但其他答案并没有解决我的特定问题。在纠正我的原始/上一篇文章以反映这一点后,它仍然保持关闭状态。所以,在这里,我再次提出同样的问题,因为另一个问题立即关闭了。请完整阅读,并在将其标记为重复或关闭之前尝试了解我的问题。
我正在尝试登录其网址为" https://wedgfl.aquahawk.us/login"但是我很难进入。我一直在使用以下代码来尝试这一点,但是在打印页面内容时,我得到的只是没有实际登录的页面。
#!/usr/bin/env python3
import requests
with requests.Session() as c:
url = 'https://wedgfl.aquahawk.us/login'
USERNAME = 'myemail@domain.tld'
PASSWORD = 'MySecretPassword'
c.get(url)
#cookie = c.cookies['connect.sid']
login_data = dict(username=USERNAME, password=PASSWORD, next='/')
c.post(url, data=login_data, headers={"Referer": "https://wedgfl.aquahawk.us/login"})
page = c.get('https://wedgfl.aquahawk.us/')
print(page.content)
登录成功后,目标网页应为" https://wedgfl.aquahawk.us"正如您从我的page = c.get('https://wedgfl.aquahawk.us/')
部分代码中看到的那样。我想也许这与我的cookie有关,但即使禁用/评论也有同样的效果。万一你想知道,我确实在使用Python 3
我确实从页面源中提取了我需要的表单数据。也许我的问题是我没有从表单数据中调用正确的密钥信息?以下是登录后查看页面源时的信息:
<form id="userAuth" action="/login" method="POST" style="display: none">
<div id="userAuthUserNameSubtitle" class="x-hidden">User Name or Email:</div>
<input id="userAuthUserName" type="text" name="username" spellcheck="false" class="x-hidden">
<div id="userAuthPasswordSubtitle" class="x-hidden">Password:</div>
<input id="userAuthPassword" type="password" name="password" class="x-hidden">
<input id="userAuthSubmit" type="submit" value="Sign In" class="x-hidden">
</form>
我已经尝试过这种方式,只是为了验证我是否实际登录但仍然有相同的结果:
import requests
payload = {
'username': 'myemail@domain.tld',
'password': 'MySecretPassword'
}
import sys
with requests.Session() as c:
c.post('https://wedgfl.aquahawk.us/login', data=payload)
r = c.get('https://wedgfl.aquahawk.us/')
print "Something from the page that only shows after login" in r.content
我甚至按照this post中的示例来获得相同的结果:
import requests
url = 'https://wedgfl.aquahawk.us/login'
values = {'username': 'myemail@domain.tld',
'password': 'MySecretPassword'}
r = requests.post(url, data=values)
print(r.content)
我要么从表单数据中获取错误的值键,要么我的代码中需要更多信息来自此页面需要的表单数据才能登录?
答案 0 :(得分:1)
检查此解决方案,我添加了正确的标题
{{1}}