自动填写HTML登录表单
loginform的Python项目详细描述
loginform是一个库,用于填充给定登录url的html登录表单, 用户名和密码。自动推断要填充的表单和字段。
它是在lxml form filling之上实现的,因此依赖于lxml。
用法
用法非常简单,最好用一个示例来说明:
>>> from loginform import fill_login_form >>> import requests >>> url = "https://github.com/login" >>> r = requests.get(url) >>> fill_login_form(url, r.text, "john", "secret") ([('authenticity_token', 'FQgPiKd1waDL+pycPH8IGutirTnP69SiZgm0zXwn+VQ='), ('login', 'john'), ('password', 'secret')], u'https://github.com/session', 'POST')
也可以将其用作快速调试登录表单的工具:
$ python -m loginform -u john -p secret https://github.com/login url: https://github.com/session method: POST payload: - authenticity_token: FQgPiKd1waDL+pycPH8IGutirTnP69SiZgm0zXwn+VQ= - login: john - password: secret
测试
一组真实的样本被用来保持这个库的测试。那些 样品管理如下:
首先,选择要尝试的站点,找出其登录URL,然后运行以下命令 在其上尝试loginform的命令:
$ python test_samples.py https://github.com/login [ "https://github.com/login", [ [ [ "authenticity_token", "NsdVWGpzxKmn7zSJSOdgnDcLIzIdJlCTO754LiEv2W4=" ], [ "login", "USER" ], [ "password", "PASS" ] ], "https://github.com/session", "POST" ] ]
从输出你可以判断它是否有效。如果成功了,太好了。如果它 如果没有,您将破解loginform.py使其工作,然后添加示例 使用:
$ python test_samples.py https://github.com/login -w github
注意,我们给了示例一个名称(在本例中为github)。
要列出所有可用的示例,请使用:
$ python test_samples.py -l
要运行所有测试,请安装tox并运行:
$ tox