簡體   English   中英

使用python請求登錄的基礎知識

[英]Fundamentals for login with python requests

我已經搜索了很多有關如何使用python請求登錄的信息,但是每個人都在用另一種方式做。 有人可以解釋一下如何使用網址http://weborder2.givi.it/home的請求登錄。

首先,我們應該創建一個會話(某種模擬無頭瀏覽器,因為會話對象將始終存儲Cookie,會話ID,標頭以及與真實用戶會話相關的所有內容)

然后應打開網站(模擬您進入登錄頁面,這很重要,因為它是cookie)

要查看整個過程,請在Chrome中打開一個開發人員控制台,並重現整個登錄過程,並觀看“網絡”標簽,瀏覽器發出什么樣的請求,找到與登錄有關的內容,然后您將在其中找到所需的有效負載登錄站點。

其中一些應該解析,因為無法弄清楚(哈希,表單日期和數據,取決於網站)在我們的案例中, form date應該使用lxml.html解析(您可以在Elements頁面中進行搜索開發者控制台,並收集其“ xpath”

下面的代碼重現了您在瀏覽器中所做的整個過程

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表格
所以嘗試這樣的事情(雖然未測試)

r = requests.post('http://weborder2.givi.it/home', data = {'_58_login':'yourlogin', '_58_password': 'yourpassword'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM