源码在这里:点击打开链接

这是我自己完成的QQ空间登录代码,只做到登录为止,后面没有了。

下面有两个版本,一个是windows应用,一个是控制台应用,具体如下。

代码主要是包括通过Httpget(httpwebrequest方法)登录的,还包括了QQ密码的最新加密算法2014年)

截图如下:

1.windows应用版

2.控制台应用版本

展示下核心代码吧:以下代码是控制台版的主要代码。完整源码链接已经提供了,要的赶紧去下,才五分,不贵。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.Drawing;
using System.Security.Cryptography;
using System.Net;namespace testWebRequest
{public class Program{public static String qq = "XXXXXX";    //自己填private static String password = "XXXXXX";  //自己填static void Main(String[] args){QQLogin(qq, password);}public static void QQLogin(String QQ, String password){String pass = "";String responseData = "";//获取验证信息//验证信息格式为:ptui_checkVC('0','!MIW','\x00\x00\x00\x00\x9a\x65\x0f\xd7') //其中分为三部分,第一个值0或1判断是否需要图片验证码//                          第二个值是默认验证码,若不需要图片验证码,就用此验证码来提交//                          第三部分是所使用的QQ号码的16进制形式String forCheckUrl = "http://check.ptlogin2.qq.com/check?uin=" + QQ + "&appid=549000912&r=0.10299430438317358";RetData outcomeFromCheck = new RetData();CookieContainer cookieNull = new CookieContainer();HttpHelper helper = new HttpHelper();String receiveFromCheck;outcomeFromCheck = helper.GetHtml(forCheckUrl, cookieNull);receiveFromCheck = outcomeFromCheck.str;//Console.WriteLine(receiveFromCheck); //打印获取的网页内容//将验证码信息的三部分存入数组int checkCodePosition = receiveFromCheck.IndexOf("(") + 1;String checkCode = receiveFromCheck.Substring(checkCodePosition, receiveFromCheck.LastIndexOf(")") - checkCodePosition);String[] checkNum = checkCode.Replace("'", "").Split(',');  //验证码数组if ("1".Equals(checkNum[0])) //判断是否需要图片验证码{String forImageUrl = "http://captcha.qq.com/getimage?aid=549000912&uin=" + QQ + "&cap_cd=" + checkNum[1];Stream receiveStream = helper.GetStream(forImageUrl, outcomeFromCheck.cookie);//将获取的图片验证码存入电脑System.Drawing.Image.FromStream(receiveStream).Save(@"d:/code.jpg");//Image img = Image.FromStream(receiveStream);Console.Write("请输入验证码:");responseData = Console.ReadLine(); //将读取到的图片验证码输入到responseData中,由于是控制台应用}else //若不需图片验证码,验证码就等于checkNum[1]{responseData = checkNum[1];}//获取加密密码PasswordHelper helper2 = new PasswordHelper();pass = helper2.GetPassword(QQ, password, responseData);//Console.WriteLine(pass);/** *********************** 登录 *************************** */String forLoginUrl = "http://ptlogin2.qq.com/login?u=" + QQ + "&verifycode=" + responseData + "&p=" + pass + "&aid=549000912&u1=http%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=3-21-1397619935139";RetData outcomeFromLogin = new RetData();outcomeFromLogin = helper.GetHtml(forLoginUrl, outcomeFromCheck.cookie);String revFromLogin = outcomeFromLogin.str;Console.WriteLine(revFromLogin); //打印登录后返回信息//至此登录成功//返回个人空间主页RetData outcomeFromIndexPage = new RetData();outcomeFromIndexPage = helper.GetHtml("http://user.qzone.qq.com/"+qq, outcomeFromLogin.cookie);//Console.WriteLine(outcomeFromIndexPage[0].str); //显示主页内容//将主页存到txt里StreamWriter swrite = new StreamWriter("E:/11.txt", false, Encoding.UTF8);swrite.WriteLine(outcomeFromIndexPage.str);swrite.Close();swrite.Dispose();//遍历CookieContainer//GetCookieContent showCookies = new GetCookieContent();//showCookies.ShowAllCookies(outcomeFromLogin[0].cookie);}}public struct RetData //网页请求返回对象{public string str;public CookieContainer cookie;}}

完整源码地址: http://download.csdn.net/detail/lai444132348/7266331

C#实现QQ空间登录相关推荐

  1. Java程序模拟QQ空间登录 - 并模拟刷说说的赞(图文) 注意:腾讯修改了加密算法,已失效(2015-01-31)

    Java程序模拟QQ空间登录 - 并模拟刷说说的赞 背景:在2013-10-25的一天,有个friend在QQ问我:"post登陆QQ空间抓取不到post的数据".于是故事就开始了 ...

  2. 仿QQ空间登录,解决键盘挡住输入框的问题

    我们在开发Android应用中,登录和注册界面是少不了的,往往在做登录注册的时候如果给界面加一个LOGO,就有可能把用户名和密码框放在手机屏幕的中间或底部,这样当软键盘弹出的时候,就有可能挡住输入框( ...

  3. selenium进行QQ空间登录

    一.selenium简要说明 selenium是基于浏览器自动化的一个模块,它能便捷的获取网站中动态加载的数据,和实现模拟登录.爬虫等操作 二.实现流程 2.1 selenium前置操作 1. 安装s ...

  4. python模拟qq空间登录_模拟登录系列 | QQ空间模拟登录

    原文链接模拟登录系列 | QQ空间模拟登录​mp.weixin.qq.com 本系列所有代码均在这CharlesPikachu/DecryptLogin​github.com 原理简介 这里,我们简单 ...

  5. 用html写一个QQ空间登录页面

    这是一个基本的 QQ 空间登录页面的 HTML 代码: <!DOCTYPE html> <html> <head><meta charset="ut ...

  6. ios 仿电脑qq登录界面_iOS开发UI篇—模仿ipad版QQ空间登录界面

    iOS开发UI篇-模仿ipad版QQ空间登录界面 一.实现和步骤 1.一般ipad项目在命名的时候可以加一个HD,标明为高清版 2.设置项目的文件结构,分为home和login两个部分 3.登陆界面的 ...

  7. python模拟qq空间登录_模拟登录QQ空间

    # coding=utf-8 from selenium import webdriver # 模拟登录QQ空间 def Start_Login(): # 这个是chormedriver的地址 dri ...

  8. python模拟qq空间登录_python selenium模拟登录163邮箱和QQ空间

    最近在看python网络爬虫,于是我想自己写一个邮箱和QQ空间的自动登录的小程序, 下面以登录163邮箱和QQ空间和为例: 了解到在Web应用中经常会遇到frame/iframe 表单嵌套页面的应用, ...

  9. QQ空间登录表单密码客户端加密代码

    QQ空间通过网页登陆的时候,提交表单后会发现密码栏发生了变化. 点击登录按钮后,密码先在客户端进行了MD5等一系列加密.这样可以防止客户端向服务器发送登录信息时密码被窃听. 值得我们在写登录界面时借鉴 ...

  10. python qq空间登录_模拟登录QQ空间

    # coding=utf-8 from selenium import webdriver # 模拟登录QQ空间 def Start_Login(): # 这个是chormedriver的地址 dri ...

最新文章

  1. python3+ 解决写入中文乱码的问题
  2. 北航与西安交大计算机专业对比,北航和西安交大,谁的工科实力更强,该上哪一所大学呢?...
  3. c++ opencv 通过网络连接工业相机_OpenCV项目实战之零件缺陷检测(上)
  4. 记一次小程序富文本的小小优化
  5. Error-Project facet Java version 1.8 is not supported
  6. 以Windows服务方式运行.NET Core程序
  7. ubuntu 14.04 安装Java JDK
  8. usgs地震记录如何下载_用大叶草绘制USGS地震数据
  9. Javamysql语法转化oracle_MySQL与Oracle的语法区别详细对比
  10. docker添加jar包_Docker部署jar包
  11. java ee ssh三大框架知识点_详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)...
  12. DNN的Portal在站点(服务器)之间的迁移
  13. !--more--搭建的博客设置主页内容高度
  14. radiobuttonlist 后面追加操作按钮_【进口知识】通关无纸化签约及代理报关委托收发操作指南...
  15. c++ 多线程 垃圾回收器_新一代垃圾回收器ZGC的探索与实践
  16. MFC编程记录--图片控件类
  17. cisco接口模式转换
  18. iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
  19. 全国省市区三级JSON 包括地区编码
  20. 微信小程序电子签名实现并识别文字

热门文章

  1. VUE小案例——奇妙清单(vue指令综合应用)
  2. 【Hardware】【天线基础知识】
  3. b460m_itx/ac Z390I B360pro升级无线网卡BCM94360HMB
  4. html中的css样式表达式,CSS表达式
  5. PMP备考经验分享 制表很重要
  6. 独家 | 利用滴滴出行数据透视中国城市空间发展(附视频PPT)
  7. 电脑远程链接怎么删除计算机,删除远程桌面连接记录的方法
  8. PHP判断手机号码是否正确
  9. 微信小程序使用百度翻译
  10. 微信小程序401unauthorized授权问题解决方法