使用curl抓取登陆后的页面

本文介绍如何使用curl命令在命令行下模拟登录网站的过程。通过分析登录页面的HTML源代码及利用浏览器插件来构造POST请求,进而实现自动登录并获取登录后页面的信息。

最近做毕业设计需要抓取登陆后页面的信息,搜索了一下发现用curl可以实现该功能。

命令行下直接用curl命令即可(linux命令,在windows下可在gow或cygwin下使用该命令),php可以调用curl库(PHP5.0以上默认开启)。以下用curl命令举例:

第一步:确定需要登陆的页面:打开登陆页面,查看HTML源代码,找到登陆的<form>标签的"action"属性,其值就是所提交的页面。

第二步:确定post消息:

这里有两种方法:

方法一是在登陆页面的HTML源代码中找出所有<input>的"name"属性,并确定提交的值,以“name1=value1&name2=value2...”的方式提交。注意name和value都需要经过urlencode

方法二是使用类似于firefox的headerfox的插件,可以截获HTTP的头信息。尝试登陆一次就能看出表单post提交了哪些值,然后自己声称格式同上的post消息。

第三步:

使用curl进行登陆 其代码格式如下:

 curl  --data-binary $POSTMSG $URL

          其中$POSTMSG第二步生成的post消息,$URL就是第一步确定的登陆提交的页面的完整的URL。

第四步:

获取cookie

第五步:使用cookie访问登陆后的页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值