CHttpFile::SendRequest(...),用在FOR循环中,遇到奇怪的400错误问题。急!!

netos 2004-01-12 04:36:52
for(int i=0 .....)
{
postdata(i);
}

postdata(i)
{
.....
if(pFile->SendRequest(NULL,0, (LPVOID)(LPCTSTR)szPostData, szPostData.GetLength()+1))
{
//这儿我一定要睡上几十秒才能得到正确的结果
Sleep(20000)
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK)
{
}
}
}

如果用了Sleep就很好,没什么问题,如果不用,就提交一半,另外一半返回400错误。不知道有没办法解?
...全文
275 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
114sky 2004-07-03
  • 打赏
  • 举报
回复
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
try
{

if(!OnInitSession(session))
{
return FALSE;
}
if (!AfxParseURL( (LPCTSTR)sURL, dwServiceType, strServerName, strObject, nPort) ||
dwServiceType != INTERNET_SERVICE_HTTP)
{
str_Error = "非法的URL";
return FALSE;
}
pServer = session.GetHttpConnection(strServerName, nPort);
if(pServer==NULL)
{
str_Error = "无法与服务器建立连接";
return FALSE;
}
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags);

if(pFile==NULL)
{
str_Error = "无法与服务器建立连接";
return FALSE;
}
//////////////////////////////////////////////////////////////////////////
try
{
if(!pFile->AddRequestHeaders(szHeaders)|| !pFile->SendRequest())
{
str_Error ="网络错误-无法发送请求报头";
return FALSE;
}
}
catch (CInternetException* ex)
{
fileContent.Empty();
str_Error="无法发送http报头,可能网络状况有问题";
ex->Delete();
return FALSE;
}
//////////////////////////////////////////////////////////////////////////

if(!pFile->QueryInfoStatusCode(dwRetcode))
{
str_Error ="网络错误-无法查询反馈代码";
return FALSE;
}

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧