【发布时间】:2013-11-02 18:49:44
【问题描述】:
我做了一个解析html文档然后获取一些url的应用程序,问题是url只能直接从导航器下载。
在 VB.NET 或 C# 中,我如何重定向此 url 以获得直接链接,以便稍后将链接粘贴到下载管理器中下载?
dim url as string = "http://m.mrtzcmp3.net/get.php?singer=Madonna&song=Like%20A%20Virgin%20&size=5242104&ids=687474703a2h2h63733434303876342g766s2g6f652h75323237363831362h617564696h732h3132323564303466333839622g6f7033"
我需要说我对 http 的东西没有太多的实验,也许我错了,url 有任何重定向或类似的错误,请告诉我如何重定向那种 url 或者如果我错了。
更新:
试过了,但我得到了相同的网址,没有任何更改:
Dim url As String = _
"http://m.mrtzcmp3.net/get.php?singer=Madonna&song=Like%20A%20Virgin%20&size=5242104&ids=687474703a2h2h63733434303876342g766s2g6f652h75323237363831362h617564696h732h3132323564303466333839622g6f7033"
Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)
request.AllowAutoRedirect = True
Dim response As HttpWebResponse
Dim resUri As String
response = request.GetResponse
resUri = response.ResponseUri.AbsoluteUri
MsgBox(resUri)
更新 2:
在此处HttpWebRequest Login data Then Redirect的答案中
他说
如果重定向是透明处理的,_response.ResponseURI 将包含它重定向到的地址。如果没有,你必须阅读 重定向标头并自行决定是否请求 新页面。
所以...如果我需要这样做,我该怎么做?
更新 3:
DownloadThemAll Firefox 插件可以获取直接 url...你可以看到所有 url 都以 .mp3 文件扩展名结尾,这就是我需要的
【问题讨论】:
-
您能否澄清一下“重定向 url 以获取直接链接以供以后粘贴链接”是什么意思?
-
@Adam Moszczyński 该网址用于下载 MP3 音频文件,我希望如果我可以进行重定向操作以获得可以以文件名结尾的“真实网址”,如下所示:@987654326 @ ,这是我的直接链接,如果我认为不对,请见谅。
-
该 url 也可能指向 http 处理程序,该处理程序将通过将文件直接写入响应来提供文件。它不必是“真实的网址”。
-
DownThenAll 上的 URL/Nombre 不是 url,它只是一个文件名。您可以使用 httpwebresponse.headers (它在该数据中的某个位置)获取该文件名,但这对您没有用。我很确定您提供的网址是下载网址
-
我不完全确定你在问什么,但直接 url 是你帖子顶部的 url(真的很长),可以用 webclient.downloadfile(url , 文件名 + "mp3")
标签: c# .net vb.net url url-redirection