簡體   English   中英

使用python請求進行Web登錄

[英]Web login with python requests

我正在針對vsco帳戶進行字典攻擊(出於測試目的),我已經成功地使用python硒制作了一個,嘗試之間有0.5秒的延遲,但是我嘗試使用遠程登錄功能重寫程序,我制作了一個測試帳戶並捕獲了登錄帖子的URL: https : //www.vsco.co/ajx/user/doLogin ,網站登錄頁面是: https : //www.vsco.co/user/login ,以下代碼是我的意思嘗試測試以獲取成功登錄的結果,但是,使用正確的憑據,我仍然看不到主頁vsco頁面或/ user / account頁面的源代碼中的任何差異。 如果我缺少某些東西,或者有另一種遠程執行此操作的方法,那就太好了。 (如果注意到“共享您的VSCO配置文件”,它將返回yes,因為只有登錄后您才能看到此頁面。)

#!/usr/bin/env python
#https://www.vsco.co/ajx/user/doLogin
import socket
import requests
#url = 'https://www.vsco.co/user/login'
url = 'https://www.vsco.co/ajx/user/doLogin'
payload = {'login' : 'account_name', 'password' : 'mypassword'}
s = requests.Session()
r = s.post(url,data=payload,allow_redirects=True)
print(r.status_code)
p = s.get('https://www.vsco.co/user/account')
#print(str(p.text))
if('Share Your VSCO Profile' in str(p.text)):
        print('Yes')

如果您在登錄頁面上打開Web控制台,則會在登錄表單中看到一個隱藏字段。 另外,如果您檢查過帳請求,則會發送一個額外的參數。

您可以嘗試在發布請求中查找並設置這些額外的參數。

一個更簡單的選擇可能是使用無頭瀏覽器而不是請求。 (類似於帶有硒python綁定的phantomJS)

暫無
暫無

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

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