Python,网站请求登录无效

时间:2018-04-20 14:32:15

标签: python python-3.x python-requests

我试图通过脚本登录网站,但是当我打印网站的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)

1 个答案:

答案 0 :(得分:0)

如果它不是html表单输入的一部分,则指定数据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)

一般来说,表格的所有输入标签(包括可见和隐藏)都必须包含在数据字典中