Python,网站请求登录不工作

2024-06-02 00:42:30 发布

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

我试图通过脚本登录到一个网站,但当我打印网站的html内容,但我看不到任何数据后,登录可用。。。 有人能告诉我我错过了什么吗?谢谢您!你知道吗

def main():
headers = {
    "User-Agent":
        "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
}

s = requests.session()
s.headers.update(headers)
s.get('https://www.e-ams.at/eams-sfa-account/p/index.jsf')

# Generate the post data
data = {
    'url': 'https://www.e-ams.at/eams-sfa-account/p/index.jsf',
    'j_username': 'username',
    'j_password': 'password'
}

# Perform the post request
r = s.post('https://www.e-ams.at/eams-sfa-account/p/index.jsf', data=data)

# Try to get data only available after login
r = s.get('https://www.e-ams.at/eams-sfa-account/p/EsaSBasisdaten.jsf?eamsTrack=1524234335254')
print(r.url)
print(r.text)
print(r.status_code)

Tags: httpsdatagetindex网站wwwaccountpost
1条回答
网友
1楼 · 发布于 2024-06-02 00:42:30

如果它不是html表单输入的一部分,那么在data dict中指定url是不正确的。 您的请求必须如下:

data = {
    'j_username': 'username',
    'j_password': 'password'
}
r = s.post('https://www.e-ams.at/eams-sfa-account/p/index.jsf', data=data)

一般来说,表单的所有输入标记(可见和隐藏)都必须包含在数据dict中

相关问题 更多 >