CInternetSession署理POST数据返回the connection with the server was reset

CInternetSession代理POST数据返回the connection with the server was reset
自己最近在用MFC实现向服务器post表单数据的客户端,在做代理的时候参照了几位前辈的代码,但是一直有个问题解决不了,代理的设置代理如下,当我用pHttpFile-> SendRequest(NULL)发送的时候,可以获取服务器返回的数据,但是当我使用
pHttpFile-> SendRequest(NULL,0,(void *)szData,strlen(szData));发送表单数据的时候,会报错"the connection with the server was reset",请各位前辈帮忙,多谢![/
C/C++ code

CString CInterNetSessionProxyDlg::GeHttptFile(const char  *url ,char * Proxy,char *UseName, char * Password,char * szData)      
{   
    CString szContent;      
    char    strProxyList[MAX_PATH],       strUsername[64],       strPassword[64];      
    strcpy(strProxyList,Proxy);      
    strcpy(strUsername,UseName);      
    strcpy(strPassword,Password);      
    DWORD   dwServiceType = AFX_INET_SERVICE_HTTP;      
    CString       szServer,       szObject;      
    INTERNET_PORT       nPort;      
    AfxParseURL(url,       dwServiceType,       szServer,       szObject,       nPort);      
    CInternetSession       mysession;      
    CHttpConnection*       pConnection;      
    CHttpFile*       pHttpFile;  
    DWORD  dwHttpStatus;
    CString szHeader = _T("Accept: */*\r\nAccept-Language: zh-cn\r\nContent-Type: application/x-www-form-urlencoded\r\n");
    try
    {
        pConnection = mysession.GetHttpConnection(szServer,INTERNET_FLAG_KEEP_CONNECTION,INTERNET_INVALID_PORT_NUMBER,NULL,NULL);      
        pHttpFile = pConnection-> OpenRequest( "POST",szObject,NULL,0,NULL,NULL,INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_DONT_CACHE);      

        INTERNET_PROXY_INFO    proxyinfo;      
        proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;      
        proxyinfo.lpszProxy = strProxyList;      
        proxyinfo.lpszProxyBypass = NULL;      
        mysession.SetOption(INTERNET_OPTION_PROXY,(LPVOID)&proxyinfo,sizeof(INTERNET_PROXY_INFO));      
        pHttpFile-> SetOption(INTERNET_OPTION_PROXY_USERNAME,strUsername,strlen(strUsername)+1);      
        pHttpFile-> SetOption(INTERNET_OPTION_PROXY_PASSWORD,strPassword,strlen(strPassword)+1);      
        pHttpFile->AddRequestHeaders(szHeader);
        
        //pHttpFile-> SendRequest(NULL);
        pHttpFile-> SendRequest(NULL,0,(void *)szData,strlen(szData));
        if (pHttpFile)  
        {
            if(pHttpFile->QueryInfoStatusCode(dwHttpStatus)!=0)
            {
                if ((dwHttpStatus/100)*100 == HTTP_STATUS_OK)
                {
                    CString tmp;
                    while(pHttpFile->ReadString(tmp))
                    {
                        szContent+=tmp;
                    }
                }
            }
        }  
    }
    catch (CInternetException* e)
    {
        char cBuf[255]; 
        CString temp;
        e->GetErrorMessage(cBuf, 255);
        temp.Format("CSMSSubmit::HttpPost Failed,Error code:%d,Detail:%s",e->m_dwError,cBuf);
        e->Delete();
        szContent=temp;
    }
    if(pHttpFile!=NULL)  
    {
        pHttpFile->Close();
        delete pHttpFile;  
    }  
    if(pConnection != NULL)  
    {
        pConnection->Close();
        delete pConnection;  
    } 
    mysession.Close();
    return       szContent;      
} 



------解决方案--------------------
你的方法应该也是可以的