给定一个网址,我如何把这个网址的网页给保存下来??我是说还要同时把这个网页上的图片也能够下载到本地?

littleriver 2003-11-19 05:48:06
如果采取取得源代码的方法,图片只是会的到链接,我想实现象ie提供的保存功能。但是我同时也不想打开ie窗口,请问有什么实现办法没有啊
...全文
337 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
constantine 2004-01-26
  • 打赏
  • 举报
回复
我学习
Filo 2004-01-24
  • 打赏
  • 举报
回复
Bool GetFromWeb(LPSTR pURL, LPSTR

SaveAsFilePath )

{ CInternetSession session; //会话期对象)

CHttpConnection* pServer = NULL; //指向服务器地址(URL)

CHttpFile * pHttpFile = NULL; //HTTP文件指针

CString strServerName; //服务器名

CString strObject; //查询对象名(http文件)

INTERNET_PORT nPort; //端口

DWORD dwServiceType; //服务类型

DWORD dwHttpRequestFlags = //请求标志

//INTERNET_FLAG_EXISTING_CONNECT

INTERNET_FLAG_NO_AUTO_REDIRECT;

const TCHAR szHeaders[] = _T("Accept: text/*\r\nUser-Agent: HttpClient\r\n");

BOOL OK=AfxParseURL( //词法分析

pURL, //被分析URL串

dwServiceType, //服务类型,ftp,http等

strServerName, //服务器名

strObject, //URL中被查询对象

nPort ); //URL指定的端口,可能为空

OK=OK && //本例只考虑http协议

(dwServiceType ==

INTERNET_SERVICE_HTTP);

if (!OK)

{ AfxMessageBox("URL出错"); //报错

return false;

}

pServer = session.GetHttpConnection(strServerName, nPort); //获得服务器名

pHttpFile = pServer-> OpenRequest( CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL,dwHttpRequestFlags);

//向服务器发送请求,建立http连接,

//建立本机上的http文件指针

pHttpFile->AddRequestHeaders(szHeaders);

pHttpFile->SendRequest(); //发送请求

CStdioFile f; //输出文件对象

if( !f.Open( //打开输出文件

SaveAsFilePath, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) )

{ MessageBox( "Unable to open file";

return false;

}

//下面将检索结果保存到文件上

TCHAR szBuf[1024]; //缓存

while (pHttpFile->ReadString(szBuf, 1023))

f.WriteString( szBuf );

f.Close(); //善后工作

pHttpFile ->Close();

pServer ->Close();

if (pHttpFile != NULL) delete pHttpFile;

if (pServer != NULL) delete pServer;

session.Close();

return true;

}
蒋晟 2004-01-24
  • 打赏
  • 举报
回复
http://www.codeguru.com/ieprogram/SaveWholePage.html
zombieLi 2004-01-24
  • 打赏
  • 举报
回复
Ctrl + C
然后打开webcatcher
然后Ctrl + V
ok
littleriver 2004-01-22
  • 打赏
  • 举报
回复
顶一下
猛禽 2003-11-21
  • 打赏
  • 举报
回复
用IDHTTP当下页面,然后自己分析页面找到图片等链接,再用IDHTTP一一当下,再自己想办法组合一下即可:)

要不就用叶子的方法:隐含打开一个IE,用它来另存为
hy1080 2003-11-20
  • 打赏
  • 举报
回复
看来只能顶了
swites 2003-11-20
  • 打赏
  • 举报
回复
帮拟顶一下!
littleriver 2003-11-20
  • 打赏
  • 举报
回复
再顶一下吧
小笨象 2003-11-20
  • 打赏
  • 举报
回复
《资料收集库》
beyondzhx 2003-11-20
  • 打赏
  • 举报
回复
网文快逋
woainihaha 2003-11-20
  • 打赏
  • 举报
回复
用IdHTTP获取然后保存即可.
constantine 2003-11-20
  • 打赏
  • 举报
回复
用flashget拉,可以拉全部关联,
如果不是,就保存就可以了
justfool 2003-11-20
  • 打赏
  • 举报
回复
printscreen->附件
kuangjingbo 2003-11-20
  • 打赏
  • 举报
回复
文件->另存为.
littleriver 2003-11-19
  • 打赏
  • 举报
回复
顶一下
叶子哟 2003-11-19
  • 打赏
  • 举报
回复
你可以用TnmHttp或是任何这样的类,递交http请求,得到的返回就是你要的网页内容
如果你想保存整个的网页,可以考虑用mht格式的
或是你可以创建一个IE句柄,但你却不显示它也可以,用ole的方法

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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