curl 模拟浏览器头和refer及Curl模仿http浏览器常见命令。

jackxiang 2013-9-6 18:03 | |
linux下shell终端curl的post数据
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -e "http://post.html"  -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票" http://post.php
注释:
-A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
的意思就是申明客户端是windows2000下的ie6的浏览器;
-e "http://post.html"的意思就是refer是这个页面;
-d后面的参数都是将用post方式提交到服务器去的
最后面的就是将要post到的url地址
这里提到了-A、-e和-d参数,
其实用的比较多的还有
-x(后面用ip:port方式接代理服务器)等等,
这里就不一一列举了,可以参考man curl

demo
curl $URL -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票"

结果
Array
(
    [2880] => Array
        (
            [0] => 105
        )

    [pid] => 2880
    [p] => 最佳
    [count] => 1
    [receipt] => 1
    [poll] => 投票
)

4.模拟指定浏览器

有些变态的站点,限制了使用浏览器的类型.一样难不倒curl.

curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” [URL]
这个就是一个模拟,win2k的ie5.0的一个访问.



3.认证

比如某些网站需要使用认证.可以使用如下命令.比如论坛什么的.

curl -u name:password www.secrets.com

4.模拟指定浏览器

有些变态的站点,限制了使用浏览器的类型.一样难不倒curl.

curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” [URL]
这个就是一个模拟,win2k的ie5.0的一个访问.

5.Cookies

大部分网站都使用cookies,来记录浏览中的信息,识别用户等.自然使用curl也是可以做到的.
比如保存cookies.
curl -D head_cookies http://bbs.it580.com
这样将保存bbs.it580.com的cookies到运行命令的目录下,并命名为head_cookies.

保存了自然要下次使用的.如何使用呢?
curl -b head_cookies http://bbs.it580.com

6.使用代理

很多站点限制了访问的ip,或者说投票的时候发现只能一票一投。就要使用到这个了。
curl -x proxy.test.org:80 http://bbs.it580.com
这样就使用proxy.text.org代理,来访问http://bbs.it580.com了。

来自:http://blog.it580.com/curlhttp/
http://www.cnblogs.com/rootq/articles/1393933.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6641/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-9-10 18:01
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]