由于该href为相对路径,请问如何将其转换为绝对路径?
如
该网页url为:http://www.xxx.com/news/sports/default.html
该网页的href(相对路径) 要得到的(绝对路径)
href='./pagename.html' ->http://www.xxx.com/news/sports/pagename.html
href='/Expert/pagename.html' ->http://www.xxx.com/Expert/pagename.html
href='../../pagename.html' ->http://www.xxx.com/pagename.html
…… ->……
6 个解决方案
#1
Path.GetFullPath
#2
我是自定义一个根+相对路径就好了
#3
eNet首页->资讯中心->特别策划(http://www.enet.com.cn/enews/inforcenter/designmore.jsp)
该网页上超链接形式如下:
· <a href="/enews/zhuanti/20040421/dianxin.html" class="ph14n">电信日专题:信息技术引领可持续发展之路</a> 2004-05-17 09:00<br>
我已用程序得到该超链接href部分“/enews/zhuanti/20040421/dianxin.html”(通过正则表达式),
我需要将相对路径转为绝对路径?
注:该网页只是个特例,各个网页采用的相对路径形式不同
该网页上超链接形式如下:
· <a href="/enews/zhuanti/20040421/dianxin.html" class="ph14n">电信日专题:信息技术引领可持续发展之路</a> 2004-05-17 09:00<br>
我已用程序得到该超链接href部分“/enews/zhuanti/20040421/dianxin.html”(通过正则表达式),
我需要将相对路径转为绝对路径?
注:该网页只是个特例,各个网页采用的相对路径形式不同
#4
UrlBase = "http://" + UrlSuffix;
UrlSuffix = HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
这样得到的是你的项目层次的地址,然后你再加上"news/sports"应该就可以了吧。
UrlSuffix = HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
这样得到的是你的项目层次的地址,然后你再加上"news/sports"应该就可以了吧。
#5
目的:
1.得到目标URL的网页HTML
uri = http://www.enet.com.cn/enews/inforcenter/designmore.jsp
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
2.提取该网页上的超链接(href 如/enews/zhuanti/20040421/dianxin.html,相对路径形式比较多如../dianxin.html, ../../dianxin.html, ,./dianxin.html等)
3.将相对路径转换为绝对路径?????
href = http://www.enet.com.cn/enews/zhuanti/20040421/dianxin.html
4.生成该网页的RSS
1.得到目标URL的网页HTML
uri = http://www.enet.com.cn/enews/inforcenter/designmore.jsp
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
2.提取该网页上的超链接(href 如/enews/zhuanti/20040421/dianxin.html,相对路径形式比较多如../dianxin.html, ../../dianxin.html, ,./dianxin.html等)
3.将相对路径转换为绝对路径?????
href = http://www.enet.com.cn/enews/zhuanti/20040421/dianxin.html
4.生成该网页的RSS
#6
问题解决了! :)
今天随便看了一眼《C#高级编程》实用类 中讲到 URI(还有IP地址和DNS名称)
Uri baseUri = new Uri("http://www.enet.com.cn/enews/inforcenter/designmore.jsp");
Uri absoluteUri = new Uri( baseUri, "../test.html");
absoluteUri.ToString();// http://www.enet.com.cn/enews/test.html
仍然感谢以上网友的回复!
今天随便看了一眼《C#高级编程》实用类 中讲到 URI(还有IP地址和DNS名称)
Uri baseUri = new Uri("http://www.enet.com.cn/enews/inforcenter/designmore.jsp");
Uri absoluteUri = new Uri( baseUri, "../test.html");
absoluteUri.ToString();// http://www.enet.com.cn/enews/test.html
仍然感谢以上网友的回复!
#1
Path.GetFullPath
#2
我是自定义一个根+相对路径就好了
#3
eNet首页->资讯中心->特别策划(http://www.enet.com.cn/enews/inforcenter/designmore.jsp)
该网页上超链接形式如下:
· <a href="/enews/zhuanti/20040421/dianxin.html" class="ph14n">电信日专题:信息技术引领可持续发展之路</a> 2004-05-17 09:00<br>
我已用程序得到该超链接href部分“/enews/zhuanti/20040421/dianxin.html”(通过正则表达式),
我需要将相对路径转为绝对路径?
注:该网页只是个特例,各个网页采用的相对路径形式不同
该网页上超链接形式如下:
· <a href="/enews/zhuanti/20040421/dianxin.html" class="ph14n">电信日专题:信息技术引领可持续发展之路</a> 2004-05-17 09:00<br>
我已用程序得到该超链接href部分“/enews/zhuanti/20040421/dianxin.html”(通过正则表达式),
我需要将相对路径转为绝对路径?
注:该网页只是个特例,各个网页采用的相对路径形式不同
#4
UrlBase = "http://" + UrlSuffix;
UrlSuffix = HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
这样得到的是你的项目层次的地址,然后你再加上"news/sports"应该就可以了吧。
UrlSuffix = HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
这样得到的是你的项目层次的地址,然后你再加上"news/sports"应该就可以了吧。
#5
目的:
1.得到目标URL的网页HTML
uri = http://www.enet.com.cn/enews/inforcenter/designmore.jsp
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
2.提取该网页上的超链接(href 如/enews/zhuanti/20040421/dianxin.html,相对路径形式比较多如../dianxin.html, ../../dianxin.html, ,./dianxin.html等)
3.将相对路径转换为绝对路径?????
href = http://www.enet.com.cn/enews/zhuanti/20040421/dianxin.html
4.生成该网页的RSS
1.得到目标URL的网页HTML
uri = http://www.enet.com.cn/enews/inforcenter/designmore.jsp
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
2.提取该网页上的超链接(href 如/enews/zhuanti/20040421/dianxin.html,相对路径形式比较多如../dianxin.html, ../../dianxin.html, ,./dianxin.html等)
3.将相对路径转换为绝对路径?????
href = http://www.enet.com.cn/enews/zhuanti/20040421/dianxin.html
4.生成该网页的RSS
#6
问题解决了! :)
今天随便看了一眼《C#高级编程》实用类 中讲到 URI(还有IP地址和DNS名称)
Uri baseUri = new Uri("http://www.enet.com.cn/enews/inforcenter/designmore.jsp");
Uri absoluteUri = new Uri( baseUri, "../test.html");
absoluteUri.ToString();// http://www.enet.com.cn/enews/test.html
仍然感谢以上网友的回复!
今天随便看了一眼《C#高级编程》实用类 中讲到 URI(还有IP地址和DNS名称)
Uri baseUri = new Uri("http://www.enet.com.cn/enews/inforcenter/designmore.jsp");
Uri absoluteUri = new Uri( baseUri, "../test.html");
absoluteUri.ToString();// http://www.enet.com.cn/enews/test.html
仍然感谢以上网友的回复!