curl学习

2012年4月2日 发表评论 阅读评论

curl学习



校园网ip网费查询脚本的分析
这个脚本原来是bbs上的一个帖子,我拿出来作为学习curl的资料。

设置cookie,如下:

[jasonh@fbsd bin]$ ./curl.sh
所剩余额: 109.00

[jasonh@fbsd bin]$ cat curl.sh
curl -d ‘fr=00&id_ip=YOUR_IP&pass=YOUR_PASSWD&set=%BD%F8%C8%EB’ \
http://hitsun.hit.edu.cn/index1.php -L -D hitsun.cookie \
-b hitsun.cookie 2>&1 |
sed -n ‘s/^.*\(所剩余额\)\([^0-9]*\)\([0-9.]*\).*/\1: \3/p’

命令分析:

curl

-d/–data <data> HTTP POST data (H)
–data-ascii <data> HTTP POST ASCII data (H)
–data-binary <data> HTTP POST binary data (H)
–negotiate Enable HTTP Negotiate Authentication (H)
–digest Enable HTTP Digest Authentication (H)
–disable-eprt Prevent curl from using EPRT or LPRT (F)
–disable-epsv Prevent curl from using EPSV (F)

-L/–location Follow Location: hints (H)
–location-trusted Follow Location: and send authentication even
to other hostnames (H)

-D/–dump-header <file> Write the headers to this file
–egd-file <file> EGD socket path for random data (SSL)
–tcp-nodelay Set the TCP_NODELAY option

-b/–cookie <name=string/file> Cookie string or file to read cookies from (H)
–basic Enable HTTP Basic Authentication (H)

今天花了好长时间搞这个cookie,总算是明白了一些。
curl -d ‘fr=00&id_ip=YOUR_IP&pass=YOUR_PASSWD&set=%BD%F8%C8%EB’ \
http://hitsun.hit.edu.cn/index1.php -L -c hitsun.cookie

再用cookie进行登录的时候,出现了一些问题。
cookie -b hitsun.cookie http://hitsun.hit.edu.cn/index1.php
结果不对,返回的不是收费的页面,还是登录页面,即使加上-L参数还是不行。

最后,cliff出马,搞定。“姜还是老的辣”!

那个收费页面跟登录页面不是一个,名字是profile.php,通过手工登录就可以看出来。

cookie -b hitsun.cookie http://hitsun.hit.edu.cn/profile.php

就可以正常的返回收费页面了。

阅读(207)|评论(0)|收藏(0)|打印|举报


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/264.html

  1. 本文目前尚无任何评论.