csdn模拟登陆
版權(quán)聲明:原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出版、作者信息和本聲明。否則將追究法律責(zé)任。http://blog.csdn.net/mayongzhan - 馬永占,myz,mayongzhan
首先聲明本模擬不穩(wěn)定,有時(shí)會(huì)出現(xiàn)登陸不進(jìn)去.
模擬的原理請(qǐng)參考blog.csdn.net/mayongzhan的文章,相關(guān)的知識(shí)也請(qǐng)參考blog.csdn.net/mayongzhan.
原來(lái)是因?yàn)閏sdn的metaweblog不能發(fā)布類(lèi)別,所以采用模擬登陸然后發(fā)布.當(dāng)然也發(fā)現(xiàn)了不少csdn秘密,比如隱藏的用于發(fā)送垃圾郵件
的field,還有很多csdn只隱藏沒(méi)刪掉的功能.有興趣大家可以嘗試一下,看看是否被封掉.
回歸xmlrpc了.這個(gè)東西發(fā)布出來(lái)給大家欣賞一下 by MyZ.
一些其他的hidden fields
發(fā)布到網(wǎng)頁(yè)
&ctl00%24cphContent%24EntryEditor1%24ckbPublished=on
允許在Blog首頁(yè)顯示
&ctl00%24cphContent%24EntryEditor1%24chkIsAggregated=on
將正文內(nèi)容復(fù)制到剪切板(只在IE下有效)
&ctl00%24cphContent%24EntryEditor1%24chkCopytoClipboard=on
顯示在我的主頁(yè)
&ctl00%24cphContent%24EntryEditor1%24chkDisplayHomePage=on
加站外好友郵件AddFriend.aspx
發(fā)郵件給站外好友
ctl00$cphContent$EntryEditor1$ckbMailTo
發(fā)短消息給站內(nèi)好友
ctl00$cphContent$EntryEditor1$ckbMessageTo
推薦個(gè)編輯
ctl00$cphContent$EntryEditor1$ckbRecommendTo
看到了吧.還有發(fā)郵件的功能,就是前一段時(shí)間出現(xiàn)的la圾郵件.本身如果是要推廣的話(huà)...可以試試.
正文.上代碼
--------------------------------------------------------------------------------------------
test.php
<?php
/**
?* @name test.php
?* @date Sun Jul 20 12:31:20 CST 2008
?* @copyright 馬永占(MyZ)
?* @author 馬永占(MyZ)
?* @link http://blog.csdn.net/mayongzhan/
?*/
//header("Content-type: text/html;charset=utf-8");
header("Content-type: image/jpeg");
session_start();
$url = 'http://hi.csdn.net/IndexLogIn.aspx';
$url2 = 'http://hi.csdn.net/IndexLoginImage.aspx';
$post = 1;
$returntransfer = 1;
$port = 80;
$header = 0;
$nobody = 0;
$followlocation = 1;
$cookie_jar = tempnam('./tmp','cookie.txt');
$_SESSION['cookie_jar'] = $cookie_jar;
$ch = curl_init();
$options = array(CURLOPT_URL => $url,
?????CURLOPT_HEADER => $header,
?????CURLOPT_NOBODY => $nobody,
?????CURLOPT_PORT => $port,
?????CURLOPT_RETURNTRANSFER => $returntransfer,
?????CURLOPT_FOLLOWLOCATION => $followlocation,
?????CURLOPT_COOKIEJAR => $cookie_jar
??????????????? ?);
curl_setopt_array($ch, $options);
$temp = curl_exec($ch);
curl_close($ch);
//echo $temp;
preg_match_all('/id=/"__VIEWSTATE/" value=/"(//[0-9a-z]+)" //>/i',$temp,$tempArr);
preg_match_all('/id=/"__EVENTVALIDATION/" value=/"(//[0-9a-z+]+)" //>/i',$temp,$tempArr2);
$_SESSION['__VIEWSTATE'] = $tempArr[1][0];
$_SESSION['__EVENTVALIDATION'] = $tempArr2[1][0];
$ch2 = curl_init();
$options2 = array(CURLOPT_URL => $url2,
?????CURLOPT_HEADER => $header,
?????CURLOPT_NOBODY => $nobody,
?????CURLOPT_PORT => $port,
?????CURLOPT_RETURNTRANSFER => $returntransfer,
?????CURLOPT_FOLLOWLOCATION => $followlocation,
?????CURLOPT_COOKIEFILE => $cookie_jar,
?????CURLOPT_REFERER => $url
??????????????? ?);
curl_setopt_array($ch2, $options2);
$temp = curl_exec($ch2);
curl_close($ch2);
echo $temp;
//$tem = file_get_contents($cookie_jar);print_r($tem);
//CURLOPT_URL是要得到內(nèi)容的地址
//CURLOPT_HEADER是要得到的頭?
//CURLOPT_NOBODY是要得到的內(nèi)容?
//CURLOPT_PORT是端口
//CURLOPT_RETURNTRANSFER是要把輸出的內(nèi)容放到buffer中,可以被echo或者賦予某變量
//CURLOPT_POST是標(biāo)準(zhǔn)的提交
//CURLOPT_POSTFIELDS是提交的內(nèi)容
//CURLOPT_COOKIEJAR是要保存的cookie
//CURLOPT_COOKIEFILE是從文件讀取cookie并提交
//CURLOPT_FOLLOWLOCATION啟用時(shí)會(huì)將服務(wù)器服務(wù)器返回的“Location:”放在header中遞歸的返回給服務(wù)器
//CURLOPT_MAXREDIRS限定遞歸返回的數(shù)量
//CURLOPT_HTTPHEADER設(shè)置一個(gè)header中傳輸內(nèi)容的數(shù)組
//CURLOPT_REFERER設(shè)置header中"Referer:"部分的值
//CURLOPT_USERAGENT在HTTP請(qǐng)求中包含一個(gè)”user-agent”頭的字符串。
//CURLOPT_ENCODING設(shè)定header中“Accept-Encoding: ”部分的內(nèi)容,支持的編碼格式為:"identity","deflate","gzip"。如果設(shè)置為空字符串,則表示支持所有的編碼格式
//CURLOPT_COOKIE設(shè)定HTTP請(qǐng)求中Set-Cookie:部分的內(nèi)容
?>
--------------------------------------------------------------------------------------------
test2.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="author" content="馬永占(MyZ)" />
<meta name="Copyright" content="馬永占(MyZ)" />
<meta http-equiv="Content-Language" content="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<iframe src="test.php" scrolling="No" frameborder="0" width="400px" height="100px"></iframe>
<form action="test3.php" method="POST">
VerifyCode:<input type="text" name="VerifyCode" /><br />
<input type="submit" value="登陸" />
</body>
</html>
--------------------------------------------------------------------------------------------
test3.php
<?php
/**
?* @name test3.php
?* @date Sun Jul 20 12:31:30 CST 2008
?* @copyright 馬永占(MyZ)
?* @author 馬永占(MyZ)
?* @link http://blog.csdn.net/mayongzhan/
?*/
header("Content-type: text/html;charset=utf-8");
session_start();
$url = 'http://hi.csdn.net/IndexLogIn.aspx';
$post = 1;
$returntransfer = 1;
$port = 80;
$header = 0;
$nobody = 0;
$followlocation = 1;
$request = '__VIEWSTATE='.urlencode($_SESSION['__VIEWSTATE']).'&__EVENTVALIDATION='.urlencode($_SESSION['__EVENTVALIDATION']).'&UserName=testman110&UserPwd=testman111111&VerifyCode='.$_POST['VerifyCode'].'&buttonLogin='.urlencode(' 登 錄 ');
$cookie_jar = $_SESSION['cookie_jar'];
$ch = curl_init();
$options = array(CURLOPT_URL => $url,
?????CURLOPT_HEADER => $header,
?????CURLOPT_NOBODY => $nobody,
?????CURLOPT_PORT => $port,
?????CURLOPT_POST => $post,
?????CURLOPT_POSTFIELDS => $request,
?????CURLOPT_RETURNTRANSFER => $returntransfer,
?????CURLOPT_FOLLOWLOCATION => $followlocation,
?????CURLOPT_COOKIEJAR => $cookie_jar,
?????CURLOPT_COOKIEFILE => $cookie_jar,
?????CURLOPT_REFERER => $url
??????????????? ?);
curl_setopt_array($ch, $options);
$temp = curl_exec($ch);
curl_close($ch);
echo $temp;
?>
--------------------------------------------------------------------------------------------
the end
php不比任何的東西差.包括已經(jīng)寫(xiě)出來(lái)csdn登陸的python c#.
轉(zhuǎn)載于:https://www.cnblogs.com/xingyong/archive/2011/07/17/2108626.html
總結(jié)
- 上一篇: android 按住拖动gallery防
- 下一篇: IL,Emit之OpCodes说明(备查