最近用MFC实现与HTTPS网站通讯,虽然是ssl验证,但是忽略验证之后还是可以用web浏览器登录的,可是用MFC实现HTTPS访问老是提示证书作者无效或不正确,,我在参数里面已经设置了忽略证书验证的,可是还是不行,连最基本的访问登录页面也不行,求各位大虾指导一下,谢谢了。
附上一段代码
pHttpConn = session.GetHttpConnection(strServer.GetBuffer(), INTERNET_FLAG_SECURE, 443, NULL, NULL);
pHttpFile = pHttpConn->OpenRequest(CHttpConnection::HTTP_VERB_GET, _T("/"), NULL, 1, NULL, _T("HTTP/1.1"),
INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID);
if(pHttpFile->SendRequest()) {
while(pHttpFile->ReadString(strLine)) {
strHtml += Convert(strLine, CP_ACP);
}
AfxMessageBox(strHtml);
} else {
AfxMessageBox(_T("打开网页失败"));
}

解决方案 »

  1.   

    以前做过https登录的,我的正常
    CString ServerName;
    CString Object;
    INTERNET_PORT Port;
    DWORD ServiceType;
    AfxParseURL( "https://xxx.com/LoginSSLProcess.aspx", ServiceType, ServerName, Object, Port ); try
    {
    pServer = m_pSession_LJ->GetHttpConnection( ServerName, INTERNET_FLAG_SECURE, Port );
    pFile = pServer->OpenRequest( CHttpConnection::HTTP_VERB_POST, Object,
    NULL, 1, NULL, NULL, INTERNET_FLAG_EXISTING_CONNECT |
    INTERNET_FLAG_RELOAD |
    INTERNET_FLAG_NO_CACHE_WRITE |
    INTERNET_FLAG_SECURE |
    INTERNET_FLAG_IGNORE_CERT_DATE_INVALID |
    INTERNET_FLAG_IGNORE_CERT_CN_INVALID );

    pFile->AddRequestHeaders(_T("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"));
    pFile->AddRequestHeaders(_T("Referer: http://www.sbobet2.com/index_hdp.aspx?lang=en"));
    pFile->AddRequestHeaders(_T("Accept-Language: zh-cn"));
    pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));
    pFile->AddRequestHeaders(_T("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)")); BOOL result = pFile->SendRequest( NULL,0, (LPVOID)(LPCTSTR)FormData, FormData.GetLength() );

    DWORD dwRet;
    pFile->QueryInfoStatusCode(dwRet);
      

  2.   


    谢谢你提供的例子代码,适合我用,但是我发现,原来我写的app需要自己解密,现在使用fiddler辅助解密的,请问你遇到过这样的情况吗?