用c#中的通配符检查URL

问题描述 投票:-1回答:1

我想检查一个复杂的网址,如果可能的话,可以使用某种类型的通配符。

URL可能是https://bliss-box.net/wp-content/uploads/某年 / 某月 / 4-play_GP_3.0_020.zip“

我正在使用它,但不确定如何预测或猜测它将位于的两个文件夹。

try
            {
                WebRequest req = WebRequest.Create("https://bliss-box.net/wp-content/uploads/2020/02/4-play_GP_3.0_020.zip");

                WebResponse res = req.GetResponse();

                MessageBox.Show("Url Exists");
            }
            catch (WebException ex)
            {
                MessageBox.Show("Url is Invalid");
            }
c# wordpress url
1个回答
0
投票

URL是对Web服务器的指令。静态网址通常看起来像文件名,是该指令的一种特殊情况:“嘿,服务器,给我发这个所有者告诉您使用的文件系统中的文件。“

URL中的wp-content/year/mm/file模式使您的服务器运行名为WordPress的Web应用程序变得简单。 WordPress将用户上传的媒体文件存储在与该模式匹配的文件结构中。每个月的上传文件都进入匹配的目录。

您希望程序发送到WordPress服务器的通配符指令是“嘿,服务器,请向我发送名为whatever的文件。我不知道它何时上传,因此请为我查找。”

WordPress是坚持原则,即用户必须知道文件名才能获取上载的内容。它不会提供目录列表。这会减慢网络蠕虫寻找要抓取的内容的速度。

[确实使有正当理由要做你想做的事情的人感到...颈痛。

因此,您的程序必须进行自己的搜索。您必须以上传日期范围开始,然后尝试该范围内每年/毫米组合的文件名。继续尝试使用URL,直到找到不产生404的URL。

您可能应该以最新到最旧的方式工作。

您绝对应该每隔几秒钟对程序进行一次速率限制。 WordPress具有安全性,可以减慢刮板速度,并且您不想出于合法目的而被列入黑名单。

如果需要在您控制的服务器上进行例行的大容量搜索,则可以考虑使用sftp而不是https。 sftp可以列出目录内容。

© www.soinside.com 2019 - 2024. All rights reserved.