Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重定向url以获取直接url_C#_.net_Vb.net_Url_Url Redirection - Fatal编程技术网

C# 重定向url以获取直接url

C# 重定向url以获取直接url,c#,.net,vb.net,url,url-redirection,C#,.net,Vb.net,Url,Url Redirection,我做了一个应用程序,它解析一个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=687474703a2h2h63733434303876342g

我做了一个应用程序,它解析一个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,或者如果我错了

更新:

尝试了这个,但我得到了相同的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:

在这里的答案中

他说

如果重定向是透明处理的,则_response.ResponseURI 将包含它重定向到的地址。如果没有,你必须阅读 重定向头并自行决定是否请求 新页面

所以…如果我需要这么做,我该怎么做

更新3:

DownloadThemAll
Firefox插件可以直接获取URL。。。正如您所看到的,所有URL都以.mp3文件扩展名结束,这正是我所需要的


使用
HttpWebRequest
并使用
AllowAutoRedirect=true
获取直接链接并下载文件。

使用
HttpWebRequest
并使用
AllowAutoRedirect=true
获取直接链接并下载文件。

您可以使用web客户端执行web请求以获取内容(url)从该url,然后您只需要执行重定向。

您可以使用web客户端执行web请求以从该url获取内容(url),然后您只需要执行重定向。

您可以尝试将url粘贴到像tinyUrl或BitLy这样的url缩短器吗?也许有一个提供API的缩短器服务

该文件将在以下位置下载:


你永远不会从网站所有者那里得到直接的URL,因为URL是动态解析的,文件是通过retrun数据流发送的,而不是通过下载特定的URL。

你能尝试将URL粘贴到像tinyUrl或BitLy这样的URL缩短器吗?也许有一个提供API的缩短器服务

该文件将在以下位置下载:


您永远不会从网站所有者那里获得直接URL,因为URL是动态解析的,并且文件是通过retrun数据流发送的,而不是通过下载特定的URL。

据我所知,URL

是直接url,直接文件url不需要包含文件类型

您可以使用

string url = "http://m.mrtzcmp3.net/get.php?singer=Madonna&song=Like%20A%20Virgin%20&size=5242104&ids=687474703a2h2h63733434303876342g766s2g6f652h75323237363831362h617564696h732h3132323564303466333839622g6f7033"
WebClient wc = new WebClient();
wc.DownloadFile(url, fileName);
您可以使用以下命令获取文件名(Madonna Like A Virgin-www.mrtzcmp3.net.mp3)

这是未经测试的,但应该有效


编辑:我想这正是你想要的,但据我所知,我可能误解了你的问题,url

是直接url,直接文件url不需要包含文件类型

您可以使用

string url = "http://m.mrtzcmp3.net/get.php?singer=Madonna&song=Like%20A%20Virgin%20&size=5242104&ids=687474703a2h2h63733434303876342g766s2g6f652h75323237363831362h617564696h732h3132323564303466333839622g6f7033"
WebClient wc = new WebClient();
wc.DownloadFile(url, fileName);
您可以使用以下命令获取文件名(Madonna Like A Virgin-www.mrtzcmp3.net.mp3)

这是未经测试的,但应该有效



编辑:我想这正是你想要的,但我可能误解了你的问题

你能澄清一下“重定向url以获得一个直接链接以便以后粘贴链接”是什么意思吗?@Adam Moszczyński该url用于下载MP3音频文件,我希望如果我能进行重定向操作以获得“真正的url”它可以以文件名结尾,类似这样:
http://m.mrtzcmp3.net/blahblahblah/file.mp3
,这对我来说是一个直接链接,如果我认为错了,很抱歉。url也可能指向http处理程序,该处理程序将通过将文件直接写入响应来为文件提供服务。它不必是“真正的url”DownThenAll上的URL/Nombre不是URL,它只是一个文件名。您可以使用httpwebresponse.headers(它位于该数据中的某个位置)获取该文件名但是这对你没有用。我很确定你提供的url是下载url。我不完全确定你在问什么,但是直接url是你文章顶部的url(很长的东西),可以通过webclient下载。下载文件(url,文件名+“mp3”)你能澄清一下你的意思吗“重定向url以获得直接链接,以便以后粘贴链接”@Adam Moszczyński该url用于下载MP3音频文件,我希望如果我可以执行重定向操作以获得“真正的url”“可能以文件名结尾,类似这样:
http://m.mrtzcmp3.net/blahblahblah/file.mp3
,这对我来说是一个直接链接,如果我认为错了,很抱歉。url也可能指向http处理程序,该处理程序将通过将文件直接写入响应来为文件提供服务。它不必是“真正的url”DownThenAll上的URL/Nombre不是URL,它只是一个文件名。您可以使用httpwebresponse.headers(它位于该数据中的某个位置)获取该文件名但是这对你没有用。我很确定你提供的url是下载url。我不完全确定你在问什么,但是直接url是你文章顶部的url(很长的东西),可以用webclient.downloadfile下载(url,文件名+“mp3”)但这并不能解决我的问题,我想在我的应用程序之外下载它,然后我不能使用HttpWebRequest来下载它,也不能使用WebBrowser控件,我只想获得从其他应用程序下载它的直接链接。谢谢您的回答!如果您想要外部应用程序,请检查我的更新。使用process.start并将URL提供给internet explorer。我看到了您的更新,但这是相同的问题,我仍然没有直接URL,我管理大量URL以重定向。我已尝试执行请求,但URL中没有任何更改,请可以看到我的更新吗?但这并不能解决我的问题,我想在我的应用程序之外下载它,然后我也不能使用HttpWebRequest从WebBrowser下载它