【问题标题】:Connect vBulletin 4.2.2 forum with Python用 Python 连接 vBulletin 4.2.2 论坛
【发布时间】:2015-10-19 20:08:37
【问题描述】:

我阅读了此页面,但代码仍然无法正常工作: Logging in to vBulletin

我的代码:

#-*- coding:utf-8 -*-

import urllib, urllib2, cookielib, hashlib, time

def variables():
    domain = "www.example.com"
    uname = "UserName"
    passwd = "Password"

    # Create url
    if domain.startswith('http://'):
         url = domain
    else:
        url = 'http://' + domain

    login(url, uname, passwd)


def login(url, uname, passwd):
    loginurl = url + '/login.php?do=login'
    md5 = hashlib.md5(passwd);md5 = md5.hexdigest()
    # Options for request
    opts = {
        'do': 'login',
        'vb_login_md5password': md5,
        'vb_login_md5password_utf': md5,
        's': '',
        'vb_login_username': uname, 
        'security_token': 'guest', 
    }
    data = urllib.urlencode(opts)

    # Request header
    global headers
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language': 'es-es,es;q=0.8,en-us;q=0.5,en;q=0.3',
        'Accept-Encoding': 'gzip,deflate',
        'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
        'Connection': 'keep-alive',
        'Referer': loginurl,
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Lenght': '205'
    }

    # Cookie Handling
    jar = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))

    # Send Request
    opener.addheader = headers
    opener.open(loginurl, data)

    # Check
    response = opener.open('http://example.com/')
    source_code = response.read()
    if source_code.find(uname) != -1:
        print "Login Succeeded."
    else:
        print "Login Failed."


variables()

字段名的属性值为None(空):

<input type="hidden" name="s" value="" />

为什么代码不起作用?

谢谢。

【问题讨论】:

    标签: python vb.net md5 vbulletin


    【解决方案1】:

    缺少“vb_login_password”、“vb_login_password_hint”、“cookieuser”和“vb_login_md5password_utf”必须为空。

    并确定删除您的标题。

    【讨论】:

    • 我应该在 vb_login_password_hint 和 cookieuser 中放什么?如果您能给我提供代码示例,那将非常有帮助。
    • 安装 Live HTTP Headers(只有 firefox 可以)并打开它然后开始登录,你会看到所有的 POST 请求。
    • 我在 Firefox 中安装了 Live HTTP Header 并在开始登录之前打开它,我看到了所有 POST 请求,之后我相应地填写了所有输入表单,然后我尝试再次登录但没有成功。怎么了?
    • 我登录论坛成功了,但是有时候会成功,运行脚本3次后就无法登录了。什么问题?我该如何解决?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多