Web服务器URL-检测PathInfo层次结构

问题描述 投票:0回答:2

我有一个HTTP Web Broker Server,它需要处理诸如...的请求

http://myserver.com/versions/2013.6.0.0/ML/Files/SomeFile.exe

服务器本身仅供参考,用于托管信息和用于自动软件更新的特定单个文件(其中涉及许多单个可更新文件)。>>

因此,我为此在Web模块中创建了一个请求处理程序,但是此请求(Request.PathInfo)的路径信息是...

/versions/2013.6.0.0/ML/Files/SomeFile.exe

...但是它只需要检测第一部分...

/versions

一旦检测到此,则需要处理以下版本号...

/2013.6.0.0

...在这种情况下,Web服务器知道客户端请求的特定于该版本的数据。下一部分是应用程序版本...

/ML

然后,我指定我要查找与此版本/版本组合相关的特定文件...

/Files

...最后是实际文件...

/SomeFile.exe

此URL并不代表Web服务器上的任何实际目录-SomeFile.exe的实际位置可能完全不同(关于它如何检测在哪里找到这些文件的另一个故事。

问题是,我应该如何检测此路径信息的层次结构,并使用Web模块中可用的请求处理程序操作(TCollection)进行相应的处理?因为内置的请求处理程序假定只会存在一个级别,但是此服务器实际上可能具有无限个级别。

我有一个HTTP Web Broker Server,它需要处理诸如...的请求。http://myserver.com/versions/2013.6.0.0/ML/Files/SomeFile.exe该服务器仅作为参考,它本身就是托管信息。 ...

delphi url webrequest httpserver
2个回答
0
投票

基于罗布(Rob)对这个问题的评论,我很快意识到这是多么简单。使用字符串列表,将路径信息分解为不同的列表项,将每个斜杠分开。然后,使用任何自定义机制评估第一个,然后评估第二个,依此类推。每个变体都会触发不同的处理程序过程,例如...


0
投票

您的拆分代码可以通过以下方式完成:

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