使用Python传递数据到j_security_check

1 投票
1 回答
1634 浏览
提问于 2025-04-16 07:01

我在服务器上有一个叫做 j_security_check 的页面,我需要把数据传给它。我使用 Python 的 urllib2 模块,发送一个 POST 请求,里面包含 j_username 和 j_password 这两个参数。问题是,我收到了一个 HTTPError 408 的错误,提示“登录过程所允许的时间已经超过”。我该怎么处理这个问题呢?

1 个回答

2

你可以先尝试访问登录页面,并把那里的 cookie 存下来。这个 j_security_check 看起来像是 acegi 安全相关的东西。

import urllib, urllib2

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor)
urllib2.install_opener(opener)
urllib2.urlopen('http://server/login_form/')
urllib2.urlopen('http://server/j_security_check',
 data=urllib.urlencode({'j_username':'scott','j_password':'wombat'}))

撰写回答