php模拟网站登陆(post/get提交)

这两天做的个小业务,把思路和用到的技术分享下,供参考。

问题描述:

先用账户和密码登陆A网站,登陆后在后台可以添加账户。现在需要实现的功能是做个注册页面B,直接实现A网站的后台添加用户功能,免去手动登陆添加操作。

我是这么实现的:

1、首先抓包分析登陆A网站以及添加账户的数据,看是用的post还是get操作,提交的参数有哪些;

2、有了参数,在B页面做好对应的表单,提交到我们的页面C处理;

3、 页面C用来模拟登陆A网站,登陆后再模拟账户添加。

其中,模拟post提交我是用的Snoopy类库,功能很强大,具体用法可以google参考下。这里有几个关键点:

一是A网站的登陆过程分两步,而且有验证码。这就要求我们先获取验证码,在post数据的时候带上cookie信息,包括模拟登陆成功后,添加账户时也要带上cookie信息,否则是失败的。

另外有些网站表单提交前很多参数是先用JS加密了再提交的,具体可分析页面中的JS代码,直接拿过来用就行。

还有有些站会检查来路reffer信息,最后在头信息上加上referer参数。

关于cookie信息的获取问题,可以从服务器返回的header中找到,贴段我的代码:

foreach($snoopy->headers as $value){

if(strpos($value,’Cookie’)){

$strR=$value;

}

}

$data = explode(‘=’,$strR);

$cookieName =trim(strstr($data[0],’ ‘));

$cookieValue = trim(strstr($data[1],’;’,true));

具体的问题要具体分析,我这个只是个思路。

未经允许不得转载:SuperMan's blog » php模拟网站登陆(post/get提交)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址