使用cURL发布请求

时间:2012-02-09 12:50:34

标签: bash curl

我是一所大学的学生,负责维护内部邮件服务器(zimbra)。所有重要邮件都会发送到此帐户。但事实是没有人不愿意检查他们的邮件。我正在编写这个bash脚本,通知用户何时将新邮件发送到收件箱。我已经找到了一种方法来查找登录后返回的页面中未读邮件的数量(post方法)[标题有未读的邮件数量,所以它只是一些" greps"和" 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&#39; Mozilla / 5.0(X11; Linux i686; rv:10.0)Gecko / 20100101 Firefox / 10.0&#39; -c cookies.txt -k -x 10.1.1.26:8080 -d&#34; loginOp = login&amp; username = xxxxx&amp; password = xxxxx&amp; zrememberme = 1&amp; Log + In&#34; https://warrior.bits-goa.ac.in/zimbra/?zinitmode=http&gt; 2.HTML

&#34;登录&#34;按钮没有名称。这太奇怪了! (好吧!我接受我从未遇到过类似的表格) 还是饼干? curl手册推荐使用netscape cookie。

输出文件与登录页面相同,但添加了&#34;您的浏览器不支持cookie&#34;线。我该怎么办?

还有一个名为tamperdata for firefox的精彩插件。我无法安装它导致由于某种原因网络管理员已阻止下载插件的链接。[我不信任代理网站;)]。可以通过随机登录发布帖子数据现场。                http://warrior.bits-goa.ac.in

谢谢!抱歉这个精心设计的问题。我想一劳永逸地学习这个:)

1 个答案:

答案 0 :(得分:1)

curl绝对是(正确)使用的工具之一:你只需要一个--cookie(也许是一杯牛奶) 使用-b初始化cookie并将其与-c一起使用。这是我用它来做dropbox的例子:

http://murga-linux.com/puppy/viewtopic.php?p=597711#597711

我在那里学习了curl命令:

http://curl.haxx.se/docs/httpscripting.html