2024-06-25 07:19:21 发布
网友
我已经搜索了很多关于如何使用python请求登录的信息,但是每个人都在用另一种方式登录。有人能解释一下如何用这个urlhttp://weborder2.givi.it/home的请求登录吗。你知道吗
右键单击=>;检查窗体上的元素。这是一个POST表单 所以试试这样的方法(尽管没有测试)
r = requests.post('http://weborder2.givi.it/home', data = {'_58_login':'yourlogin', '_58_password': 'yourpassword'})
首先,我们应该创建一个会话(某种模拟无头浏览器的方式,因为会话对象总是存储cookies、会话id、头,以及与真实用户会话相关的任何内容)
然后应该打开网站(模拟你到达登录页面,因为cookies很重要)
要查看整个过程,请在Chrome中打开一个开发人员控制台,重现整个登录过程,并查看Networking选项卡,查看浏览器发出的请求,查找related To the login,然后您将在那里找到登录站点所需的负载。你知道吗
其中一些应该被解析,因为无法解析(哈希、表单日期和数据,具体取决于网站) 在我们的例子中form date应该用lxml.html文件(您可以在开发人员控制台的Elements页中搜索它,并收集它的'xpath'
form date
下面的代码再现了您在浏览器中所做的整个过程
import requests import lxml.html session = requests.Session() login_page = session.get('http://weborder2.givi.it/home') form_date = lxml.html.fromstring(login_page.content).xpath('//*[@id="_58_fm"]/input[1]')[0] data = {'_58_formDate': form_date, '_58_saveLastPath': 'false', '_58_redirect': '', '_58_doActionAfterLogin': 'false', '_58_login': your_login_name, '_58_password': your_password, '_58_rememberMe': 'false'} session.post('http://weborder2.givi.it/home?p_p_id=58&p_p_lifecycle=1&p_p_state=maximized&p_p_mode=view&_58_struts_action=%2Flogin%2Flogin', data = data)
右键单击=>;检查窗体上的元素。这是一个POST表单
所以试试这样的方法(尽管没有测试)
首先,我们应该创建一个会话(某种模拟无头浏览器的方式,因为会话对象总是存储cookies、会话id、头,以及与真实用户会话相关的任何内容)
然后应该打开网站(模拟你到达登录页面,因为cookies很重要)
要查看整个过程,请在Chrome中打开一个开发人员控制台,重现整个登录过程,并查看Networking选项卡,查看浏览器发出的请求,查找related To the login,然后您将在那里找到登录站点所需的负载。你知道吗
其中一些应该被解析,因为无法解析(哈希、表单日期和数据,具体取决于网站) 在我们的例子中
form date
应该用lxml.html文件(您可以在开发人员控制台的Elements页中搜索它,并收集它的'xpath'下面的代码再现了您在浏览器中所做的整个过程
相关问题 更多 >
编程相关推荐