#!/usr/bin/env python
import requests
from bs4 import BeautifulSoup
URL = 'http://xxx/login.aspx'
headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36"}
user = "abc"
password = "password"
s = requests.Session()
s.headers.update(headers)
r = s.get(URL)
soup = BeautifulSoup(r.content,'lxml')
#print(soup)
VIEWSTATE = soup.find(id="__VIEWSTATE")['value']
VIEWSTATEGENERATOR = soup.find(id="__VIEWSTATEGENERATOR")['value']
#EVENTVALIDATION = soup.find(id='__EVENTVALIDATION')['value']
#EVENTTARGET = soup.find(id="__EVENTTARGET")['value']
#EVENTARGUEMENT = soup.find(id="__EVENTARGUMENT")['value']
login_data = {
"__VIEWSTATE": VIEWSTATE,
"__VIEWSTATEGENERATOR": VIEWSTATEGENERATOR,
"txtUser": user,
"txtPwd": password
}
r = s.post(URL, data=login_data, headers=headers)
print(r.text)
刚学python,对http也不熟悉。
想请教一下,这个代码最后post了登陆请求后,print(r.text) 为啥显示的还是login.aspx的内容呢,而不是登陆后跳转的页面?