[英]Restrict direct access to All views show/Redirect to error page except Login page, if user enters direct URL
[英]Redirect url to obtain the direct url
我做了一个解析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:
在这里的答案中HttpWebRequest登录数据然后重定向
他说
如果重定向是透明处理的,则_response.ResponseURI将包含重定向到的地址。 如果不是,则必须阅读重定向标头并自行决定是否请求新页面。
所以...如果我需要做那件事,我该怎么做?
更新3:
Firefox的DownloadThemAll
插件可以获取直接网址...正如您所看到的,所有网址都以.mp3文件扩展名结尾,这就是我需要的
据我所知,网址
是直接网址,直接文件网址不需要其中的文件类型。
您可以使用下载文件
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);
您可以通过使用以下命令获取文件名(麦当娜式的维珍航空公司-www.mrtzcmp3.net.mp3)
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
string header = myHttpWebResponse.Headers.ToString();
fileName = header.Remove(0, header.IndexOf("filename=")+10);
fileName = fileName.Remove(fileName.IndexOf('"'));
这未经测试,但应该可以。
编辑:我认为这是您想要的,但是我可能误解了您的问题
使用HttpWebRequest
并使用AllowAutoRedirect=true
获取直接链接并下载文件。
您可以使用Web客户端执行Web请求以从该URL获取内容(URL),然后只需要执行重定向即可。
您可以尝试将URL粘贴到诸如tinyUrl或BitLy的URl缩短器中吗? 也许有提供API的简化服务?
然后将文件下载到: http : //tinyurl.com/phzhxsr
您将永远不会从站点所有者那里获得直接URL,因为该URL是动态解析的,并且文件是与retrun数据流一起发送的,而不是通过下载特定的URL来发送的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.