// 模拟登陆115网盘 #include <afxinet.h> // 包含相关的头文件 /* 用抓包工具抓包可得到需要提交的数据,然后模拟提交即可。 *(有的时候需要得到cookie信息,你可以使用CInternetSession::GetCookie()函数得到该cookie信息)*/ try { #define MAX_COUNT 1024 CInternetSession session(_T("session")); INTERNET_PORT nPort = 80; CHttpConnection* pHttpConnect = session.GetHttpConnection(_T("passport.115.com"), nPort); if(pHttpConnect) { CHttpFile* pFile = pHttpConnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, _T("/?ac=login")); if(pFile) { // 这里是请求头信息,由抓包工具得到该信息 pFile->AddRequestHeaders(_T("POST /?ac=login HTTP/1.1")); 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, */*")); pFile->AddRequestHeaders(_T("Referer: http://passport.115.com/?ac=login&goto=http%3A%2F%2Fu.115.com%2F%3Fac%3Dmy")); pFile->AddRequestHeaders(_T("Accept-Language: zh-cn")); 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)")); pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded")); pFile->AddRequestHeaders(_T("Accept-Encoding: gzip, deflate")); pFile->AddRequestHeaders(_T("Host: passport.115.com")); pFile->AddRequestHeaders(_T("Connection: Keep-Alive")); pFile->AddRequestHeaders(_T("Cache-Control: no-cache")); // 这里是要提交的数据。说明一下: xxxx@xx.xxx指的是登陆的邮箱的地址,后面的XXXXXXX表示的是登陆的密码,使用的时候换成你自己的即可 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"); pFile->SendRequest(NULL, 0, szRequest, _tcslen(szRequest)+1); CString strStatus(_T("")); if(pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strStatus)) { AfxMessageBox(strStatus); } pFile->Close(); delete pFile; pFile = NULL; } } pHttpConnect->Close(); delete pHttpConnect; pHttpConnect =NULL; session.Close(); } catch (CInternetException* e) { e->ReportError(); e->Delete(); }
模拟登陆115网盘(MFC版)
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:linux下的DMA
下一篇:情人节红攻瑰--Delphi版本
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
批量登陆网络设备读取信息
重复的工作变成标准化流程,标准流程自动化;本文以ensp模拟器为环境,介绍使用python对网络设备进行批量自动化获取设备信息操作,读者可自行修改命令实现自动化配置下发;
python 网络自动化运维 批量登陆网络设备 批量获取配置 -
模拟登陆系统
1.问题 日常生活中我们会遇到许多需要密码来登陆账户的场景,如何使用Java来创建此类登陆代码呢?2.方法import java.util.Scanner;public
java python 算法 数据库 eclipse -
scrapy 模拟登陆
s.co...
redis json 数据