Проблема при отправке aspnetForm с помощью robobrowser - PullRequest
0 голосов
/ 29 мая 2019

Мне нужно войти в систему и сделать дополнительную проверку на этом сайте .aspx, я попытался использовать robobrowser для этого, но это не работает.

Форма заполнена правильно, потому что она возвращает ее правильно. ВЫВОД:

the form before filling....................
<RoboForm __VIEWSTATE=/wEPDwUJNzA0MDQwNTMxD2QWAmYPZBYCAgMPZBYEAgcPZBYEAgMPZBYCZg9kFgICAQ8QZGQWAWZkAgcPZBYCZg9kFgICAQ9kFgICBA9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPZBYEZg9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPEA8WBh4NRGF0YVRleHRGaWVsZAUHRmluWWVhch4ORGF0YVZhbHVlRmllbGQFCUZpblllYXJJRB4LXyFEYXRhQm91bmRnZBAVDwotLVNlbGVjdC0tCjIwMTktMjAyMCAKMjAxOC0yMDE5IAoyMDE3LTIwMTggCjIwMTYtMjAxNyAKMjAxNS0yMDE2IAoyMDE0LTIwMTUgCjIwMTMtMjAxNCAKMjAxMi0yMDEzIAoyMDExLTIwMTIgCjIwMTAtMjAxMSAKMjAwOS0yMDEwIAoyMDA4LTIwMDkgCjIwMDctMjAwOCAKMjAwNi0yMDA3IBUPATACMTQCMTMCMTICMTECMTABOQE4ATcBNgE1ATQBMwEyATEUKwMPZ2dnZ2dnZ2dnZ2dnZ2dnFgECAWQCAQ9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPEGRkFgBkAgkPDxYCHgRUZXh0BQsyNi1GZWItMjAxOWRkZKQz4nMKFr7mh0FDINEDmSGJVOtHPJSQ+dGbUkOwx0zX, __EVENTVALIDATION=/wEdAAe5Y5Bk8Hb/9tDCCekTz6/XM53Y8ZOLfkHDcm83dIGbmLHg4zuDo887rMmdulsCaAPs0I8Mn+YPuHswTYNssJXEp/pWXPESmd1Dqvn9V8rW2UNZqwSuQEoekfVzh/C83DCcH2gR0XzlUqPs/zaB71jf1dift0o+ISWdbTsoA8LMe2leDW9ux4hgCyWTDjtUUjQ=, ctl00$cph1$rdbtnlType=1, ctl00$cph1$txtUsernm=, ctl00$cph1$txtPassword=, ctl00$cph1$btnLogin=Login >>>
the form after filling the data...................
<RoboForm __VIEWSTATE=/wEPDwUJNzA0MDQwNTMxD2QWAmYPZBYCAgMPZBYEAgcPZBYEAgMPZBYCZg9kFgICAQ8QZGQWAWZkAgcPZBYCZg9kFgICAQ9kFgICBA9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPZBYEZg9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPEA8WBh4NRGF0YVRleHRGaWVsZAUHRmluWWVhch4ORGF0YVZhbHVlRmllbGQFCUZpblllYXJJRB4LXyFEYXRhQm91bmRnZBAVDwotLVNlbGVjdC0tCjIwMTktMjAyMCAKMjAxOC0yMDE5IAoyMDE3LTIwMTggCjIwMTYtMjAxNyAKMjAxNS0yMDE2IAoyMDE0LTIwMTUgCjIwMTMtMjAxNCAKMjAxMi0yMDEzIAoyMDExLTIwMTIgCjIwMTAtMjAxMSAKMjAwOS0yMDEwIAoyMDA4LTIwMDkgCjIwMDctMjAwOCAKMjAwNi0yMDA3IBUPATACMTQCMTMCMTICMTECMTABOQE4ATcBNgE1ATQBMwEyATEUKwMPZ2dnZ2dnZ2dnZ2dnZ2dnFgECAWQCAQ9kFgJmD2QWAgIBD2QWAmYPZBYCAgEPEGRkFgBkAgkPDxYCHgRUZXh0BQsyNi1GZWItMjAxOWRkZKQz4nMKFr7mh0FDINEDmSGJVOtHPJSQ+dGbUkOwx0zX, __EVENTVALIDATION=/wEdAAe5Y5Bk8Hb/9tDCCekTz6/XM53Y8ZOLfkHDcm83dIGbmLHg4zuDo887rMmdulsCaAPs0I8Mn+YPuHswTYNssJXEp/pWXPESmd1Dqvn9V8rW2UNZqwSuQEoekfVzh/C83DCcH2gR0XzlUqPs/zaB71jf1dift0o+ISWdbTsoA8LMe2leDW9ux4hgCyWTDjtUUjQ=, ctl00$cph1$rdbtnlType=2, ctl00$cph1$txtUsernm=username, ctl00$cph1$txtPassword=password, ctl00$cph1$btnLogin=Login >>>
http://103.85.92.197/Accsoft2/Login.aspx
<Response [200]>

это код, который я использовал

from robobrowser import RoboBrowser
print("//////////////////////////")
url = 'http://103.85.92.197/Accsoft2/Login.aspx'
login_url = url

username = "username"
password = "password"

browser = RoboBrowser(history=True)
# This retrieves __VIEWSTATE and friends
browser.open(login_url)

form = browser.get_form()
print("the form before filling....................")
print(form)
form["ctl00$cph1$txtUsernm"].value = username
form["ctl00$cph1$txtPassword"].value = password
form["ctl00$cph1$rdbtnlType"].value = "2"
print("the form after filling the data...................")
print(form)
browser.submit_form(form)
print (browser.url) 
print(browser.response)
#print(browser.parsed)

Как видно из вывода, я все еще на той же странице, хотя ответ 200 (ОК). Любой лучший способ отправить форму или нажать кнопку входа в систему. Selenium следует избегать, потому что скрипт будет добавлен в приложение kivy. Подойдет любая помощь с ломаным, красивым супом или механизатором.

...