zoukankan      html  css  js  c++  java
  • POST 模拟登陆

    [cpp]
    1. // 模拟登陆115网盘  
    2. #include <afxinet.h> // 包含相关的头文件  
    3.   
    4.   
    5. /* 用抓包工具抓包可得到需要提交的数据,然后模拟提交即可。 
    6. *(有的时候需要得到cookie信息,你可以使用CInternetSession::GetCookie()函数得到该cookie信息)*/  
    [cpp]
    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.       
    27.     CString strStatus(_T(""));  
    28.     if(pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strStatus))  
    29.     {  
    30.      AfxMessageBox(strStatus);  
    31.     }  
    32.     pFile->Close();  
    33.     delete pFile;  
    34.     pFile = NULL;  
    35.    }  
    36.   }  
    37.   pHttpConnect->Close();  
    38.   delete pHttpConnect;  
    39.   pHttpConnect =NULL;  session.Close();  
    40.  }  
    41.  catch (CInternetException* e)  
    42.  {  
    43.   e->ReportError();  
    44.   e->Delete();  
    45.  } 
  • 相关阅读:
    51nod乘积之和
    Dell服务器安装OpenManage(OMSA)
    Nginx反向代理PHP
    搭建haproxy
    108. Convert Sorted Array to Binary Search Tree
    60. Permutation Sequence
    142. Linked List Cycle II
    129. Sum Root to Leaf Numbers
    118. Pascal's Triangle
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/rollrock/p/2339011.html
Copyright © 2011-2022 走看看