根据在网页中获取的相对地址算出URL问题

电脑爆 2006-07-08 12:39:24
我现在已经从网页
http://www.softreg.com.cn/shareware_list.aspx?cat=/FB590C51-7D99-4E3E-9D51-F0990301FC09/
中提取出所有想要的URL列表,如下:
/shareware_view.aspx?id=/72058628-D9E8-49C2-BBC9-D5F666B6905A/
/shareware_view.aspx?id=/3CD42CEF-F859-4F86-A7E8-AA730689042C/
/shareware_view.aspx?id=/7A371DA6-CF5D-4F1F-9FEE-4C173355831A/

但是我想要的不是这个字符串列表,想把他转换成完全的URL,如:
http://www.softreg.com.cn/shareware_view.aspx?id=/72058628-D9E8-49C2-BBC9-D5F666B6905A/
http://www.softreg.com.cn/shareware_view.aspx?id=/3CD42CEF-F859-4F86-A7E8-AA730689042C/
http://www.softreg.com.cn/shareware_view.aspx?id=/7A371DA6-CF5D-4F1F-9FEE-4C173355831A/

请问除了通过字符串的简单连接外,还有没有更好的办法?
最好能够在提取网页中href地址的时候,直接就能生成这种格式的.

提示,在实际的网页中的URL不是完全的,但通过IE另存为后的文件里面的就是完整的了,我原来的思路是先把他另存,但是在另存的时候都有一个另存为的对话框,很烦人,所以是不能采用的.如果谁可能告诉我怎样才不显示那个对话框也行.
我采用有对话框的方式如下:
CppWebBrowser1->ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT,EmptyParam,EmptyParam);


急用,请大家帮忙,谢谢!
...全文
506 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
电脑爆 2006-07-15
  • 打赏
  • 举报
回复
麻烦请管理员进来看看,我已经结贴给分了,从我管理页里面可以看到给的分,怎么在这里面看到的都是得分0啊!
电脑爆 2006-07-14
  • 打赏
  • 举报
回复
呵呵,最终对话框还是去不掉.

用了Myy大侠给的方法,基本解决问题.

感谢各位的帮助.
蒋晟 2006-07-08
  • 打赏
  • 举报
回复
这个是微软给访问本地文件系统的功能加上的限制
不过你可以去看看
http://www.codeproject.com/shell/iesaveas.asp
myy 2006-07-08
  • 打赏
  • 举报
回复
// 用 InternetCombineUrl

#pragma link "WinInet.lib"

AnsiString __fastcall CombineURL(const AnsiString BaseUrl,
const AnsiString RelativeUrl)
{
DWORD len=INTERNET_MAX_URL_LENGTH;
char buf[INTERNET_MAX_URL_LENGTH+1];
try {
ZeroMemory(buf,len+1);
::InternetCombineUrl(BaseUrl.c_str(),RelativeUrl.c_str(),buf,&len,ICU_BROWSER_MODE);
}
catch(...) {
buf[0]=0;
}
return AnsiString(buf);
}
daydayup234 2006-07-08
  • 打赏
  • 举报
回复
不显示那个对话框

用钩子不知行不
myy 2006-07-08
  • 打赏
  • 举报
回复
不过这个只能把两段URL连接成一个,和字符串的连接差不多效果
----------------------------
老兄,真的是这样吗?你可以试试:

CombineURL("http://www.abc.com/xxx/yyy/zzz/123.htm","../../kkk/456.htm")
电脑爆 2006-07-08
  • 打赏
  • 举报
回复
RE:myy()
谢谢你的代码,不过这个只能把两段URL连接成一个,和字符串的连接差不多效果
请问还有其他更好的方案吗?

1,316

社区成员

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

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