首页 > csdn模拟登陆

csdn模拟登陆

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

首先声明本模拟不稳定,有时会出现登陆不进去.

模拟的原理请参考blog.csdn.net/mayongzhan的文章,相关的知识也请参考blog.csdn.net/mayongzhan.

原来是因为csdn的metaweblog不能发布类别,所以采用模拟登陆然后发布.当然也发现了不少csdn秘密,比如隐藏的用于发送垃圾邮件

的field,还有很多csdn只隐藏没删掉的功能.有兴趣大家可以尝试一下,看看是否被封掉.

回归xmlrpc了.这个东西发布出来给大家欣赏一下 by MyZ.

一些其他的hidden fields

发布到网页

&ctl00%24cphContent%24EntryEditor1%24ckbPublished=on

允许在Blog首页显示

&ctl00%24cphContent%24EntryEditor1%24chkIsAggregated=on

将正文内容复制到剪切板(只在IE下有效)

&ctl00%24cphContent%24EntryEditor1%24chkCopytoClipboard=on

显示在我的主页

&ctl00%24cphContent%24EntryEditor1%24chkDisplayHomePage=on

加站外好友邮件AddFriend.aspx

发邮件给站外好友

ctl00$cphContent$EntryEditor1$ckbMailTo

发短消息给站内好友

ctl00$cphContent$EntryEditor1$ckbMessageTo

推荐个编辑

ctl00$cphContent$EntryEditor1$ckbRecommendTo

看到了吧.还有发邮件的功能,就是前一段时间出现的la圾邮件.本身如果是要推广的话...可以试试.

正文.上代码

--------------------------------------------------------------------------------------------

test.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是要得到内容的地址

//CURLOPT_HEADER是要得到的头 

//CURLOPT_NOBODY是要得到的内容 

//CURLOPT_PORT是端口

//CURLOPT_RETURNTRANSFER是要把输出的内容放到buffer中,可以被echo或者赋予某变量

//CURLOPT_POST是标准的提交

//CURLOPT_POSTFIELDS是提交的内容

//CURLOPT_COOKIEJAR是要保存的cookie

//CURLOPT_COOKIEFILE是从文件读取cookie并提交

//CURLOPT_FOLLOWLOCATION启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器

//CURLOPT_MAXREDIRS限定递归返回的数量

//CURLOPT_HTTPHEADER设置一个header中传输内容的数组

//CURLOPT_REFERER设置header中"Referer:"部分的值

//CURLOPT_USERAGENT在HTTP请求中包含一个”user-agent”头的字符串。

//CURLOPT_ENCODING设定header中“Accept-Encoding: ”部分的内容,支持的编码格式为:"identity","deflate","gzip"。如果设置为空字符串,则表示支持所有的编码格式

//CURLOPT_COOKIE设定HTTP请求中Set-Cookie:部分的内容

?>

--------------------------------------------------------------------------------------------

test2.php

























VerifyCode:






--------------------------------------------------------------------------------------------

test3.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不比任何的东西差.包括已经写出来csdn登陆的python c#.

转载于:https://www.cnblogs.com/xingyong/archive/2011/07/17/2108626.html

更多相关:

  • (给前端大全加星标,提升前端技能)转自:高级前端进阶前言几个礼拜前我在工作上碰到了一些跟Cookie 有关的问题,在这之前,我原本想说:Cookie 不就那样嘛,就算有些属性不太熟悉,上网找一下资料就好了,哪有什么跟Cookie 有关的难题?然而事实证明我错了。我还真的碰到了一个让我解超久的Cookie 问题。相信看到这边,很多人...

  • 今天在研究全网定位用户时,获知目前采用的方式主要是通过cookies来实现的,于是想实际了解一下cookie文件的具体内容。我在windows 8.1上查看存放cookie的系统文件目录,但是因为权限设置的问题,比较繁琐,所以,就决定在Ubuntu上查看Linux版本的浏览器的cookies。拿Firefox为例,我们通过如下方法查看...

  • 使用场景如下 对于常规的网络用户,Cookie 匹配功能会如何在后台运作?我们来看看以下两种情况。 第 1 种情况:清除 Cookie 小丽清除了缓存中的所有 Cookie。随后,她访问了 ExampleNews.com 的首页。 整个过程如下: ExampleNews.com 显示并向 Google(DFP...

  • 使用js-cookie工具: 1.npm i js-cookie //安装2.import Cookies from 'js-cookie' //引用 // 存入cookie:Cookies.set('token','value') // 获取cookie:Cookies.set('token') //删除cookie:Cookies...

  •   前几天在调试第三方支付接口时碰到一个session失效问题,用了几天时间才搞明白,现在回想一下,主要还是由于cookie和session这一块的一些基本概念没有搞清楚,现总结一下。   浏览器使用HTTP协议作为应用层协议,而HTTP协议是一个无状态协议,但是通常web站点希望能够识别用户,可能是因为服务器希望限制用户的访问,或者...