求助: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;
}
...全文
144 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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;

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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