使用python请求登录mega.nz

时间:2019-01-16 17:07:37

标签: python login python-requests

因此,我正在学习有关Web爬网程序和自动化的方法。我正在尝试不使用mega.nz的官方API自动登录(就我而言,它甚至对于Python来说已经过时了)。

这是代码(由于实际上没有数据发送,目前无法正常工作)。我不想使用浏览器。

loginURL = 'https://mega.nz/login'
requestURL = 'https://mega.nz/fm/dashboard'

payload = {
    'login-name2': 'test@email.com',
    'login-password2': 'password',
    'login-check2': ''
}

with requests.session() as s:
     s.post(loginURL, headers=headers, data=payload)
     r = s.get(requestURL)
     print(r.text)

我正在使用的标题:

{'Content-Type': 'text/html', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Headers': 'MEGA-Chrome-Antileak', 'Access-Control-Max-Age': '86400', 'Content-Encoding': 'gzip', 'Content-Length': '934', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains; preload', 'X-Frame-Options': 'DENY', 'Set-Cookie': 'geoip=IT', 'Content-Security-Policy': "default-src 'self' data: blob: *.mega.co.nz *.mega.nz http://*.mega.co.nz http://*.mega.nz wss://*.karere.mega.nz *.karere.mega.nz:1380 http://127.0.0.1:6341 localhost.megasyncloopback.mega.nz:6342; script-src 'self' *.mega.co.nz *.mega.nz data: blob:; style-src 'self' 'unsafe-inline' *.mega.co.nz *.mega.nz data: blob:; frame-src 'self' mega: *.megaad.nz; img-src 'self' *.mega.co.nz *.mega.nz data: blob:", 'Connection': 'Keep-Alive'}

如何自动登录?

3 个答案:

答案 0 :(得分:0)

您可能希望阅读requests关于身份验证的文档,其中提供了几种通过HTTP进行身份验证的方法。

您可以找到它here

答案 1 :(得分:0)

我没有找到有关Mega的HTTP API的任何信息。您是否要通过将在浏览器中使用的Web界面访问该网站?以这种方式运行软件可能非常困难或不可能。

通常,仅当您尝试访问的服务提供有效的REST API时,才使用纯HTTP请求。 (例如,参见Spotify API

也许可以看看this example从Python访问Mega的情况。这使用了官方的Mega C ++ API,您可以从Python脚本访问它。

答案 2 :(得分:0)

尝试这个https://github.com/richardARPANET/mega.py/

对我有用。

在README.rst上有逐步的示例