[cpp] view plain copy

  1. // 模拟登陆115网盘
  2. #include <afxinet.h> // 包含相关的头文件
  3. /* 用抓包工具抓包可得到需要提交的数据,然后模拟提交即可。
  4. *(有的时候需要得到cookie信息,你可以使用CInternetSession::GetCookie()函数得到该cookie信息)*/
  1. try
  2. {
  3. #define MAX_COUNT 1024
  4. CInternetSession session(_T("session"));
  5. INTERNET_PORT nPort = 80;
  6. CHttpConnection* pHttpConnect = session.GetHttpConnection(_T("passport.115.com"), nPort);
  7. if(pHttpConnect)
  8. {
  9. CHttpFile* pFile = pHttpConnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, _T("/?ac=login"));
  10. if(pFile)
  11. {
  12. // 这里是请求头信息,由抓包工具得到该信息
  13. pFile->AddRequestHeaders(_T("POST /?ac=login HTTP/1.1"));
  14. pFile->AddRequestHeaders(_T("Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"));
  15. pFile->AddRequestHeaders(_T("Referer: http://passport.115.com/?ac=login&goto=http%3A%2F%2Fu.115.com%2F%3Fac%3Dmy"));
  16. pFile->AddRequestHeaders(_T("Accept-Language: zh-cn"));
  17. pFile->AddRequestHeaders(_T("User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; EasyBits GO v1.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"));
  18. pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));
  19. pFile->AddRequestHeaders(_T("Accept-Encoding: gzip, deflate"));
  20. pFile->AddRequestHeaders(_T("Host: passport.115.com"));
  21. pFile->AddRequestHeaders(_T("Connection: Keep-Alive"));
  22. pFile->AddRequestHeaders(_T("Cache-Control: no-cache"));
  23. // 这里是要提交的数据。说明一下: xxxx@xx.xxx指的是登陆的邮箱的地址,后面的XXXXXXX表示的是登陆的密码,使用的时候换成你自己的即可
  24. TCHAR szRequest[MAX_COUNT] = _T("login%5Baccount%5D=xxxx@xx.xxx&login%5Bpasswd%5D=XXXXXXX&goto=http%3A%2F%2Fu.115.com%2F%3Fac%3Dmy");
  25. pFile->SendRequest(NULL, 0, szRequest, _tcslen(szRequest)+1);
  26. CString strStatus(_T(""));
  27. if(pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strStatus))
  28. {
  29. AfxMessageBox(strStatus);
  30. }
  31. pFile->Close();
  32. delete pFile;
  33. pFile = NULL;
  34. }
  35. }
  36. pHttpConnect->Close();
  37. delete pHttpConnect;
  38. pHttpConnect =NULL;  session.Close();
  39. }
  40. catch (CInternetException* e)
  41. {
  42. e->ReportError();
  43. e->Delete();
  44. }

http://blog.csdn.net/visualeleven/article/details/6656224

模拟登陆115网盘(MFC版)的更多相关文章

  1. 【教程】模拟登陆百度之Java代码版

    [背景] 之前已经写了教程,分析模拟登陆百度的逻辑: [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 然后又去用不同的语言: Python的: [教程]模 ...

  2. 分布式文件系统的比较,115网盘用了fastdfs

    分布式文件系统 分布式文件系统,作为网盘的基础,应用底层文件管理.而分布式文件系统之上,用户文件的权限,用户目录管理都是由非分布式文件系统管理. 分布式文件系统需要关心的主要内容: 文件分布/数据分布 ...

  3. mac百度网盘破解版

    以下资源来源于网络收集分享,如有问题请联系我删除!来源入口,后面链接挂了,可去原网址访问! 还在为Mac百度网盘下载速度慢而烦恼吗?百度云盘又是一个非常实用的分享工具,可支持图片.视频.音乐.文档.种 ...

  4. 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法

    想把自己百度网盘里的数据分享给朋友,该怎么操作呢?有很多朋友使用百度网盘,可以很轻松的自己的文件上传到网盘上,并可跨终端随时随地查看和分享.下面Mac down小编就给大家介绍一下创建百度网盘 for ...

  5. 360云盘、百度云、微云……为什么不出 OS X(Mac 端)应用呢?(用户少,开发成本高)(百度网盘Mac版2016.10.18横空出世)

    已经说的很好了,现有的云盘所谓的 OS X 版只有云同步功能,不过 115 是个例外,不过 115 的现状……不言自明.接下来说点和本题答案无关的,其实在官方客户端流氓 + 限速的大背景下 OS X ...

  6. Python模拟登陆某网教师教育网

    本文转载自看雪论坛[作者]rdsnow 不得不说,最近的 Python 蛮火的,我也稍稍了解了下,并试着用 Python 爬取网站上的数据 不过有些数据是要登陆后才能获取的,我们每年都要到某教师教育网 ...

  7. 识别图片验证码的三种方式(scrapy模拟登陆豆瓣网)

    1.通过肉眼识别,然后输入到input里面 from PIL import image Image request.urlretrieve(url,'image')  #下载验证码图片 image = ...

  8. 记一次挖掘115网盘反射型xss,08xss的储存型xss

    记一次对115分站简单绕过过滤继续实现xss,08xss平台也中枪!! 115反射型xss url:http://115.qiye.115.com/disk/?ac=select_public_fil ...

  9. C#版-百度网盘API的实现(一)

    在这篇文章中,楼主将会给大家介绍一下,通过C# winform程序在后台模拟用户登陆百度网盘的基本思路 首先了解下模拟登陆的流程,如下: 一,访问http://www.baidu.com网站,获取BA ...

随机推荐

  1. JS全局屏蔽回车事件

    window.onload = function (){ document.body.onkeydown=function(event){ if(event.keyCode==13){ event.k ...

  2. 如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈

    代码手写UI这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用. 大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代 ...

  3. Html5 常见的新增API详解

    1. getElementsByClassName()方法 getElementsByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList ...

  4. volley框架 出现at com.android.volley.Request.<init>

    请求json数据的时候出现这种情况: 原因: // 访问网络,初始化详情 JsonObjectRequest jr = new JsonObjectRequest(Request.Method.GET ...

  5. 设置 Eclipse 智能代码提示,大幅度减少 alt+/ 使用频率,打每个字都出现代码提示的办法

    以前网上有个英文版本的,现在自己汉化一下...O(∩_∩)O 哈哈 ~   http://www.cnblogs.com/lidabo/archive/2013/03/05/2944245.html ...

  6. 用PHP对数据库内容进行操作(改)

    查询页面(用户可见) <body> <table width="80%" border="1" cellpadding="0&quo ...

  7. 利用doScroll在IE浏览器里模仿DOMContentLoaded

    稍微了解一点框架的事件绑定的都知道 window.onload 事件需要在页面所有内容(包括图片.flash.iframe等)加载完后,才执行,但往往我们更希望在 DOM 一加载完就执行脚本,而各大框 ...

  8. W3C和IE中的事件处理函数

    在上一篇文章中提到了关于传统的JS中注册事件对象的一些缺点和问题,下面是关于DOM2级的现代事件绑定.本文中设计到的HTML文件在文章最后 一.W3C事件处理函数 “DOM2 级事件”定义了两个方法, ...

  9. Leetcode#146 LRU Cache

    原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...

  10. [haoi2010]订货 最小费用流

    这道题oj上的标签是动态规划,但我想不出来动态规划怎么搞,空间不爆,时间也要爆的: 好的,不扯淡,此题正常做法是最小费用流: 这道题我写了两遍,为什么呢?原因是第一次写的时候,不会写费用流,又恰好没带 ...