模拟登陆,发帖都是用的是snoopy。
<?php
require_once ‘Snoopy.class.php’;
define(‘KAIXIN001_USERNAME’ , ‘your_username’);
define(‘KAIXIN001_PASSWORD’ , ‘your_pwd’);
$snoopy = new Snoopy();
//下面是登陆用的信息
$referer = ‘http://www.kaixin001.com/’;//这个可以不要
$loginUrl = ‘http://www.kaixin001.com/login/login.php’;//登陆提交的地址
$loginFormData[‘url’] = ‘/home/’;//$loginFormData 是登陆需要提交的Form的数据
$loginFormData[’email’] = KAIXIN001_USERNAME;
$loginFormData[‘password’] = KAIXIN001_PASSWORD;
//发帖的内容和一些参数,自己去看看开心网的页面代码找到对应的关系。
$ztFormUrl = ‘http://www.kaixin001.com/!repaste/repaste.php’;
$ztSubmitUrl = ‘http://www.kaixin001.com/!repaste/!repaste_submit.php’;
$ztFormData[‘title’] = ‘just a test’;
$ztFormData[‘textarea2’] = ‘just little’;
$ztFormData[‘url2’] = ‘http://xxxx.com’;
$ztFormData[‘answer1’] = ‘answer1’;
$ztFormData[‘answer2’] = ‘answer2’;
$ztFormData[‘answer3’] = ‘answer3’;
$ztFormData[‘answer4’] = ‘answer4’;
$snoopy->referer = $referer;
$snoopy->submit($loginUrl,$loginFormData);//提交登陆数据
$snoopy->fetch($ztFormUrl);//跳转到发转贴的页面,要得到一个稍后要用到的提交的参数rpuserastr,
preg_match(‘/name=\”rpuserastr\” value=\”([0-9a-z]+)/’,$snoopy->results,$matches);
$ztFormData[‘rpuserastr’] = $matches[1];//得到rpuserastr参数
$snoopy->submit($ztSubmitUrl,$ztFormData);
echo ‘status: ‘.$snoopy->status;//可以看看返回结果,正常的话应该是200
其实登陆了就可以做很多事了,可以自己去研究。
snoopy真是居家旅行,杀人灭口的良药阿。。。
转载请注明:夜阑小雨 » 【转】php 用snoopy模拟登陆开心网然后转贴