python - pycurl登录joomla网站

标签 python pycurl

我尝试使用 python pycurl 创建用于登录 joomla 网站的小脚本, 我写了这段代码:

import sys, re
import pycurl
import cStringIO
import time
import urllib

def LoginJoomla(url):
    buf = cStringIO.StringIO()
    c = pycurl.Curl()
    c.setopt(c.URL, url)
    post_params = [('usrname','admin'),('passwd','1234567789'),('submit','Login')]
    resp_data = urllib.urlencode(post_params)
    c.setopt(c.POSTFIELDS, resp_data)
    c.setopt(pycurl.POST, 1)
    c.setopt(c.WRITEFUNCTION, buf.write)
    c.perform()
    html = buf.getvalue()
    buf.close()
    print html

LoginJoomla("http://www.domain.com/administrator/index.php?option=com_user&view=login")

Bat 不起作用,给我正常的登录网页, 请任何人都可以告诉我哪里错了。

最佳答案

首先阅读但是!

您需要正确获取 URL 参数(我认为您的 URL 不好):

发布到 http://www.example.com/administrator/

具有以下参数:

  • 选项=com_login
  • 任务=登录
  • username=YOURUSER(不是您的 usrname!)
  • 密码

但是根据我对 Joomla 的了解!身份验证,你不能这样做,因为 Joomla!从网络浏览器将发送一个 token ,以确保表单是从浏览器发布的。

如果不是从浏览器发布的,则会出现类似“最近的请求被拒绝,因为它包含无效的安全 token ”的错误。请刷新页面并重试。'

我知道可以远程登录 Joomla!,请继续搜索。您可能需要一个自定义身份验证插件。

关于python - pycurl登录joomla网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15439760/

相关文章:

python - selenium.common.exceptions.TimeoutException : Message: Timed out waiting for page to load using IEDriverServer and Internet Explorer through Selenium

python - 二维 numpy 数组的条件数学运算检查一维并在不同维度上执行不同的操作

python - 您将如何将 cURL "GET"与基于 Python 的 REST API 一起用于网络编程?

python - Pushbullet pycurl 在消息中带有换行符

python - 如何将 pycurl 与 Twisted Python 结合使用?

Python:urlopen() 与 CURL

python - 如何合并字典列表Python

python - 按类别过滤 Tensorflow 数据集

python变量作为类

python - pycurl 只得到部分响应