分类:
2008-06-18 14:38:35
程序例一
$URL="";
//填入论坛的登陆页面地址
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_REFERER,"");
//设置,访问页面的来源地址
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,'username=→→敢死队→&password=168168');
//分析登陆页面,把用户名,密码分别对应起来
curl_setopt ($ch, CURLOPT_HEADER,true);
//使能显示http头,
curl_exec($ch);
if (curl_errno($ch))
{
print curl_error($ch);
}
else
{
curl_close($ch);
}
?>
////开始POST
set_time_limit(0);
//设置程序执行时间无限制
$i=10000;
//耍10000次
for($j=0;$j<$i;$j++)
{
$URL="";
//这个地址是回复表单里面action的url地址
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_REFERER,"");
//设置来源地址,如果不设置,论坛服务器有可能有验证不允许回复
curl_setopt($ch,CURLOPT_COOKIESESSION,true);
//能保存cookie
curl_setopt($ch,CURLOPT_COOKIE,"DvForum=userid=24122&usercookies=0&userhidden=2&password=w0reu3g775VrY745&userclass=%96%7C&username=%A1%FA%A1%FA%B8%D2%CB%C0%B6%D3%A1%FA&StatUserID=2194783945 ");
//这儿就是设置cookie了
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_NOBODY,1);
//不显示内容,因为有很多论坛回复后要自动跳转。
curl_setopt($ch,CURLOPT_POSTFIELDS,'Body=gfdfgdfgasdfgdfgdfgdfg&followup=672709&RootID=127437&star=58&TotalUseTable=Dv_bbs3&UserName=→→敢死队→&signflag=1&total=65535');
//把你分析的回复表单的参数分别赋值
curl_setopt ($ch, CURLOPT_HEADER,true);
curl_exec($ch);
if (curl_errno($ch))
{
print curl_error($ch);
}
else
{
curl_close($ch);
}
}
?>
程序例二
使用curl传递cookie
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //如果希望获得内容但不输出,使用该参数,并设为非0值
curl_setopt($ch,CURLOPT_COOKIE,'user=tim'); //设置一个名为user值为tim的cookie
$re = curl_exec($ch);
curl_close($ch);
echo $re;
?>
如何获得一个网站设置的cookie名称,各有各的方法,推荐用httpwatch
打开httpwatch,访问一下content.php并登陆,看到session使用的cookie了吗?这个就是传递session所用到的cookie了,把它设在get.php中即可,类似:
curl_setopt($ch,CURLOPT_COOKIE,'PHPSESSID=b80fdc24abdac655f66f9a27a1784c8f');