meetings 2015-08-17 02:19 采纳率: 0%
浏览 4017

关于MFC中SendRequest操作超时的函数

这个是我用HttpWatch抓到的的包,那个圈起来的字符粘到vc6中就成?了,怎么办?图片说明

 #include "AFXINET.H"

INT CLOGIN::GetFile(const CString strUrl)//,const CString strSavePath)  
{  
//  AfxMessageBox(strUrl);

    unsigned short nPort;       //用于保存目标HTTP服务端口   
    CString strServer, strObject;//strServer用于保存服务器地址,strObject用于保存文件对象名称   
    DWORD dwServiceType,dwRet; //dwServiceType用于保存服务类型,dwRet用于保存提交GET请求返回的状态号   

    //解析URL,获取信息   
    if(!AfxParseURL(strUrl, dwServiceType, strServer, strObject, nPort))  
    {  
        //解析失败,该Url不正确   
        return -1;  
    }  
    //创建网络连接对象,HTTP连接对象指针和用于该连接的HttpFile文件对象指针,注意delete   
    CInternetSession intsess;  
    CHttpFile *pHtFile = NULL; 

    //建立网络连接   
    CHttpConnection *pHtCon = intsess.GetHttpConnection(strServer,nPort);//_T("120620223"),_T("1a993111a5"));  
    if(pHtCon == NULL)  
    {  
        //建立网络连接失败   
        intsess.Close();  
        return -2;  
    }  


    CString FormDataType = _T("Content-Type:application/x-www-form-urlencoded");
    //CString m_formdat = _T("action=login&login_username=120620223&login_password=1a993111a5");
    CString m_formdat = _T("RadioButtonList1=???&TextBox2=1a993111a &txtUserName=120620223");


    //发起GET请求  
    pHtFile = pHtCon->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject);  
    if(pHtFile == NULL)  
    {  
        //发起GET请求失败   
        intsess.Close();  
        delete pHtCon;
        pHtCon = NULL;  
        return -3;  
    }  
    //提交请求头信息   
    pHtFile->AddRequestHeaders(_T("POST /(gac14yvwcsjrzj45cx1fq4ed)/default2.aspx HTTP/1.1"));
    pHtFile->AddRequestHeaders(_T("Accept:text/html, application/xhtml+xml, */*"));
    pHtFile->AddRequestHeaders(_T("Accept-Encoding:gzip, deflate")); 
    pHtFile->AddRequestHeaders(_T("Accept-Language:zh-CN"));
    pHtFile->AddRequestHeaders(_T("Cache-Control:no-cache"));
    pHtFile->AddRequestHeaders(_T("Connection:Keep-Alive"));
    pHtFile->AddRequestHeaders(_T("Content-Length:192"));
    pHtFile->AddRequestHeaders(_T("Content-Type:application/x-www-form-urlencoded"));
    pHtFile->AddRequestHeaders(_T("Cookie:safedog-flow-item=40A0DA8385864A8908D8E58047659734;"));

    pHtFile->AddRequestHeaders(_T("DNT:1"));
    pHtFile->AddRequestHeaders(_T("Host:202.200.144.63"));
    pHtFile->AddRequestHeaders(_T("Referer:http://202.200.144.63/(gac14yvwcsjrzj45cx1fq4ed)/default2.aspx"));

    pHtFile->AddRequestHeaders(_T("User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"));
    pHtFile->AddRequestHeaders(_T("ASP.NET_SessionId=hdlg1oi5wz1ibd3ot3omqhr3"));
    pHtFile->AddRequestHeaders(_T("X-HttpWatch-RID  74624-10032"));

    pHtFile->SendRequest(FormDataType,FormDataType.GetLength(),(LPVOID)(LPCTSTR)m_formdat,m_formdat.GetLength()); 

    //获取服务器返回的状态号   
    pHtFile->QueryInfoStatusCode(dwRet);  
    if (dwRet != HTTP_STATUS_OK)  
    {  
        //服务器不接受请求   
        intsess.Close();  
        delete pHtCon;
        pHtCon = NULL;  
        delete pHtFile;
        pHtFile = NULL;  
        return -4;  
    }  
  • 写回答

3条回答 默认 最新

  • oyljerry 2015-08-17 02:35
    关注

    数据可能不是字符串,编码格式。
    网络超时,先检查网络连接,服务器访问等

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀