【发布时间】:2012-03-06 16:35:41
【问题描述】:
我是维护内部邮件服务器 (zimbra) 的大学的一名学生。所有重要邮件都发送到此帐户。但事实是,没有人会费心检查他们的邮件。我正在编写这个 bash 脚本,当有新邮件发送到收件箱时通知用户。我想出了一种方法来从登录后返回的页面中查找未读邮件的数量(post 方法)[标题有未读邮件计数,因此距离数字只有几个“grep”和“seds”].....
我想zimbra套件有一个api,但我刚刚开始学习python,所以我别无选择,只能依靠curl。表格如下(我已经过滤掉了输入标签)
<input type="hidden" name="loginOp" value="login"/>
<input id="username" class="zLoginField" name="username" type="text" value="" />
<input id="password" class="zLoginField" name="password" type="password" value=""/>
<td><input id="remember" value="1" type="checkbox" name="zrememberme" /></td>
<td><input type="submit" class="zLoginButton" value="Log In"/></td>
我们需要使用代理服务器来连接互联网。 而且 https 连接不安全,所以 -k 我不确定最后一行,但我设法形成了这个
curl -A 'Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0' -c cookies.txt -k -x 10.1.1.26:8080 -d "loginOp=login&username=xxxxx&password= xxxxx&zrememberme=1&Log+In" https://warrior.bits-goa.ac.in/zimbra/?zinitmode=http > 2.html
“登录”按钮没有名称。这很奇怪! (好的!我接受我从未遇到过类似的表格) 还是饼干? curl 手册推荐使用 netscape cookie。
输出文件与登录页面相同,但添加了“您的浏览器不支持 cookie”行。我该怎么办??
还有一个很棒的插件,叫做 tamperdata for firefox。由于某种原因,我无法安装它,因为网络管理员阻止了下载插件的链接。[我不信任代理站点;)]。有人可以在此站点上随机登录发布帖子数据吗? http://warrior.bits-goa.ac.in
谢谢!很抱歉这个复杂的问题。我想一劳永逸地学习这个:)
【问题讨论】:
-
嗯,这不是一个答案,但我的一个batchmate为我们研究所制作了一个类似的脚本。它使用相同的 zimbra。一探究竟。 sprunge.us/eNLH 。修改它以满足您的需要。
-
贵校是否通过 IMAP/IMAPS 提供电子邮件?
-
@AbhijeetRastogi:代码失败...原因 urllib/urllib2:HTTPS over (Squid) 代理失败。自古以来一直在“折磨”移情 IM 的同一个错误。 :( 无论如何,谢谢。ArjunShankar:不,先生..除 80 和 443 之外的所有端口都被阻止。这里限制太多。