求助:OpenUrl()在服务方式下运行的问题。。。

lirengming 2006-10-24 10:21:27
我想实现的功能是:
  多次请求服务器上update.ini文件(版本更新后会修改)
现在的问题:
  在控制台上每次可以读出修改后的内容,但是在服务方式下运行时,修改了update.ini文件,
  读出来的内容还是和上次一样的(没有更新);

代码:

//查看是有最新版本
CInternetSession httpSession(NULL,0);
CString filePath = url + "update.ini";

try{
CHttpFile *pFile = (CHttpFile*)httpSession.OpenURL(filePath);

if(pFile)
{
CStdioFile csf;
csf.Open(m_strTempDir+"\\update.ini",CFile::modeCreate|CFile::modeWrite|CFile::typeBinary | CFile::shareDenyWrite);
char buf[20];
int m=0;
while((m=pFile->Read(buf,sizeof(buf)))>0)
{
csf.Write(buf,m);
}
csf.Flush();
csf.Close();
pFile->Flush();
pFile->Close();
httpSession.Close();
}
if(pFile) delete pFile;
if(httpSession) delete httpSession;
}catch(...)
{
log("连接中心服务器错误!");
httpSession.Close();
return FALSE;
}
...全文
94 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wangk 2006-10-24
改成
CInternetSession httpSession(NULL,0,PRE_CONFIG_INTERNET_ACCESS,NULL,NULL,INTERNET_FLAG_DONT_CACHE);
试试
回复
lirengming 2006-10-24
怎么都没人啊。。。
回复
lirengming 2006-10-24
谢谢你给我提供了思路:现在已经解决了!
(CHttpFile*)httpSession.OpenURL(tmpUrl,0,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD|INTERNET_FLAG_DONT_CACHE);
回复
lirengming 2006-10-24
谢谢!!!
还是不行,我试着用如下方法,还是有同样的问题:
try{
INTERNET_PORT m_dwPort=8088;
CString m_strServer = "192.168.0.6";
m_cis.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,5);
m_pHttp=m_cis.GetHttpConnection(m_strServer,m_dwPort);
}
catch(...)
{
log("初始化错误!");
}

log("正在连接到服务器...");
CString filePath = "xmlweb/version/update.ini";
DWORD m_dwHttpRequestFlags=HSR_DOWNLOAD | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
CHttpFile *pFile = m_pHttp->OpenRequest(CHttpConnection::HTTP_VERB_GET, filePath);
if(!pFile->SendRequest())
{
log("连接服务器失败!");
pFile->Close();
return FALSE;
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2006-10-24 10:21
社区公告
暂无公告