当前位置: 首页 > 编程日记 > 正文

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

<?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 = &apos;http://hi.csdn.net/IndexLogIn.aspx&apos;;
$url2 = &apos;http://hi.csdn.net/IndexLoginImage.aspx&apos;;

$post = 1;
$returntransfer = 1;
$port = 80;
$header = 0;
$nobody = 0;
$followlocation = 1;

$cookie_jar = tempnam(&apos;./tmp&apos;,&apos;cookie.txt&apos;);
$_SESSION[&apos;cookie_jar&apos;] = $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(&apos;/id=/"__VIEWSTATE/" value=/"(//[0-9a-z]+)" //>/i&apos;,$temp,$tempArr);
preg_match_all(&apos;/id=/"__EVENTVALIDATION/" value=/"(//[0-9a-z+]+)" //>/i&apos;,$temp,$tempArr2);

$_SESSION[&apos;__VIEWSTATE&apos;] = $tempArr[1][0];
$_SESSION[&apos;__EVENTVALIDATION&apos;] = $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

<!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 = &apos;http://hi.csdn.net/IndexLogIn.aspx&apos;;

$post = 1;
$returntransfer = 1;
$port = 80;
$header = 0;
$nobody = 0;
$followlocation = 1;

$request = &apos;__VIEWSTATE=&apos;.urlencode($_SESSION[&apos;__VIEWSTATE&apos;]).&apos;&__EVENTVALIDATION=&apos;.urlencode($_SESSION[&apos;__EVENTVALIDATION&apos;]).&apos;&UserName=testman110&UserPwd=testman111111&VerifyCode=&apos;.$_POST[&apos;VerifyCode&apos;].&apos;&buttonLogin=&apos;.urlencode(&apos; 登 录 &apos;);

$cookie_jar = $_SESSION[&apos;cookie_jar&apos;];

$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

相关文章:

Xcode 创建.a和framework静态库(转)

最近因为项目中的聊天SDK&#xff0c;需要封装成静态库&#xff0c;所以实践了一下创建静态库的步骤&#xff0c;做下记录。 库介绍 库从本质上来说是一种可执行代码的二进制格式&#xff0c;可以被载入内存中执行。库分静态库和动态库两种。iOS中的静态库有 .a 和 .framework两…

软件测试培训需要学习什么

软件测试在近几年引起了很多人的关注&#xff0c;不少人都想要学习软件测试&#xff0c;零基础的学员都会选择报软件测试培训机构学习&#xff0c;那么软件测试需要学习什么呢?来看看下面的详细介绍。 软件测试培训需要学习什么? 软件测试需要学测试环境(网络环境&#xff0c…

IL,Emit之OpCodes说明(备查)

名称说明Add将两个值相加并将结果推送到计算堆栈上。Add_Ovf将两个整数相加&#xff0c;执行溢出检查&#xff0c;并且将结果推送到计算堆栈上。Add_Ovf_Un将两个无符号整数值相加&#xff0c;执行溢出检查&#xff0c;并且将结果推送到计算堆栈上。And计算两个值的按位“与”并…

LeetCode实战:只出现一次的数字

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Given a non-empty array of integers, every element appears twice except for one. Find…

610D - Vika and Segments(线段树+扫描线+离散化)

扫描线&#xff1a;http://www.cnblogs.com/scau20110726/archive/2013/04/12/3016765.html 看图&#xff0c;图中的数字是横坐标离散后对应的下标&#xff0c;计算时左端点不变&#xff0c;右端点加1&#xff0c;所以总的更新的区间是l到r-1。 也可以理解为1代表的是&#xff…

UI设计比较流行的插画类型和运用

在当代平面设计中&#xff0c;插画是颇为经常使用的展现性元素&#xff0c;是视觉转达的紧张对象。插画在设计作品中&#xff0c;每每用来指导、开导和出现消息&#xff0c;更有针对性地、视觉化地同用户举行交换。真正高效的插画必然是有针对性的&#xff0c;易于辨认的&#…

poj 2362 Square

#include <iostream> //参照poj 1011 sticks#include <algorithm>using namespace std;int sticks[20],visited[20];int flag,total;int t,seg;int cmp(const void* a,const void* b){return (*(const int*)b)-(*(const int *)a);}void solve(int k,int…

Java BIO、NIO、AIO

同步与异步 同步与异步的概念, 关注的是 消息通信机制 同步是指发出一个请求, 在没有得到结果之前该请求就不返回结果, 请求返回时, 也就得到结果了.比如洗衣服, 把衣服放在洗衣机里, 没有洗好之前我们一直看着, 直到洗好了才拿出来晾晒. 异步是指发出一个请求后, 立刻得到了回…

LeetCode实战:数组中的第K个最大元素

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Find the kth largest element in an unsorted array. Note that it is the kth largest el…

热修复测试过程注意事项

软件测试行是近几年比较火热的技术岗位&#xff0c;想要学习软件测试的同学有很多&#xff0c;今天小编给你分析一下关于热修复测试过程注意事项的相关内容&#xff0c;如果你在一次测试中脱颖而出那将来的你一定很精彩! 基于tinker实际测试过程中遇到的问题&#xff0c;小编简…

LeetCode实战:存在重复元素

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Given an array of integers, find if the array contains any duplicates. Your function…

oracle exec 和 call 区别

转自&#xff1a;http://helloaq.iteye.com/blog/221614 exec 和 call 执行一个procedure时&#xff0c; exec是sqlplus的命令&#xff0c;只能在sqlplus中使用。 call是sql命令&#xff0c;任何工具都可以使用转载于:https://www.cnblogs.com/zerocc/archive/2011/07/27/21189…

html简单响应式滚动条置顶

简单响应式滚动条置顶 一般的&#xff0c;让页面出现滚动条的常见方法有&#xff1a; overflow:auto||overflow:scroll 或者overflow-x水平滚动条和overflow-y垂直滚动条那么现在要实现这样的一个效果&#xff1a; 直接在body中给一个header&#xff0c;后面一个Group盒子&…

UI设计培训之:5个小技巧快速学会PS抠图

一听到PS抠图&#xff0c;我们大家心里是不是产生了退却心理&#xff0c;害怕它过于复杂的操作。 那么现在有一种简单方法教给大家&#xff0c;如何在10分钟内快速学会ps抠图。 而你所需要准备的就是给自己10分钟的尝试时间。 你没有尝试过某件事情&#xff0c;就不要轻易说它难…

AIX VNC setup

1. 下载VNC for AIX虽然标明是for AIX51的&#xff0c;但AIX53和AIX61仍可用。 2. 安装RPM: rpm -Uhv vnc-3.3.3r2-3.aix5.1.ppc.rpm 3.编辑配置文件&#xff1a; # which vncserver/usr/bin/X11/vncserver #chmod 777 /usr/binX11/vncserver vi /usr/bin/X11/vncserver 更改前…

历史 history

题目描述 历史学家小&#xff21;正在研究一个奇怪的王国的历史。当前阶段的任务是研究该国的交通。 根据这个奇怪的王国的史书记载&#xff0c;史书开始记载前这个王国有 n 个城市&#xff08;城市从 0 开 始标号&#xff09; &#xff0c;但所有城市之间都没有道路相连。 …

LeetCode实战:Nim 游戏

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 You are playing the following Nim Game with your friend: There is a heap of stones on…

python值得报班学习吗

python值得报班学习吗?最近有很多想要学习Python的同学都会问到这个问题&#xff0c;Python在近几年的发展前景是非常不错的&#xff0c;想要学会Python编程语言&#xff0c;建议还是报班学习&#xff0c;来看看下面的详细介绍吧。 ​  python值得报班学习吗?首先Python值不…

LeetCode实战:2的幂

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Given an integer, write a function to determine if it is a power of two. Example 1: …

P1214 等差数列

https://www.luogu.org/problem/show?pid1214#sub 暴力枚举题&#xff0c;加上一些剪枝。 &#xff08;原谅我卑劣地提交了两个答案特判&#xff09; #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorit…

cocos2d 0.99.5版本屏幕默认是横屏,怎么修改为竖屏呢?

在RootViewController.m文件里面&#xff0c;修改如下代码#elif GAME_AUTOROTATION kGameAutorotationUIViewController // // EAGLView will be rotated by the UIViewController // // Sample: Autorotate only in landscpe mode // // return YES for th…

学习java三个技巧要知道!

java一直是IT行业发展前景非常不错的一门编程语言&#xff0c;学起来是相对有点困难的&#xff0c;尤其是零基础学员&#xff0c;要想学好java技术&#xff0c;一定要知道这三个技巧&#xff0c;来看看下面的详细介绍就知道了。 学习java三个技巧要知道! 1. 树立学习的信心 很多…

LeetCode实战:格雷编码

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 The gray code is a binary numeral system where two successive values differ in only o…

Programmer of Practice Manual

这是我以前再读研究生的时候写的东东&#xff0c;希望搞计算机的同学&#xff0c;教计算机本科生学习技术的文章&#xff08;非算法类&#xff09;粘在这里纪念一下。 大一寒假 结构化编程基础&#xff1a; 图书&#xff1a;《How to C》 实践过程&#xff1a;完成课后的习题&a…

改善C#程序的建议3:在C#中选择正确的集合进行编码

原文:改善C#程序的建议3&#xff1a;在C#中选择正确的集合进行编码要选择正确的集合&#xff0c;我们首先要了解一些数据结构的知识。所谓数据结构&#xff0c;就是相互之间存在一种或多种特定关系的数据元素的集合。结合下图&#xff0c;我们看一下对集合的分类。 集合分类 …

Python工程师求职必知的经典面试题

最近几年&#xff0c;学习Python语言的同学越来越多&#xff0c;学成之后大家对于后期的面试都遇到了很多难题&#xff0c;小编这次为大家整理了一份关于Python工程师求职必知的经典面试题!希望能够帮助到正在找Python工作的同学们。 Python工程师求职必知的经典面试题&#xf…

LeetCode实战:二叉树中的最大路径和

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Given a non-empty binary tree, find the maximum path sum. For this problem, a path i…

为Visual Studio添加配色方案

看到网上有一些教程&#xff0c;他们的代码截图&#xff0c;不是VS默认的白底黑字&#xff0c;觉得挺好看&#xff0c;就也把自己的VS鼓捣了一把&#xff1a; 使用的是现成的配色方案&#xff0c;试了好几种&#xff0c;就觉得这个看着舒服son-of-obsidian.vssettings 你可以去…

黑色星期五阿里云向海淘输出双11技术

本文讲的是"黑色星期五"阿里云向海淘输出双11技术【IT168资讯】11月27日零点&#xff0c;“黑色星期五”正式到来&#xff0c;虽然远在中国的消费者无法参与海外的实体抢购&#xff0c;但电商平台却给了他们从地球另一端参与“大抢购”的机会。随着近年海淘市场的不断…

专业的java培训机构是否靠谱,对比一下就知道了!

java在IT行业的火热是有目共睹的&#xff0c;所以市面上有很多机构都抓住了这点&#xff0c;开设了java培训课程&#xff0c;想要找到一个适合自己的java培训机构&#xff0c;多进行对比就知道了! 专业的java培训机构是否靠谱&#xff0c;对比一下就知道了!专业的Java培训机构靠…