如何查找 URL 注册(而非预订)?

Sum*_*ith 5 windows asp.net tcp http web-development-server

是否有 Windows 命令可以列出持有特定 URL 注册的应用程序的进程 ID 和名称?

我正在寻找在以下 URL 命名空间下注册的应用程序。

http://localhost:55987/
Run Code Online (Sandbox Code Playgroud)

我知道可以使用以下方式列出 URL 预订

netsh http show urlacl

保留意见指出

 Reserved URL            : http://localhost:55987/
     User: \Everyone
         Listen: Yes
         Delegate: No
         SDDL: D:(A;;GX;;;WD)
Run Code Online (Sandbox Code Playgroud)

但是如何找到在保留的 URL 命名空间下进行的注册呢?

小智 4

您可以使用以下命令找到已注册网址的 processId:

netsh http show servicestate view=requestq verbose=no
Run Code Online (Sandbox Code Playgroud)

它将返回一个如下表:

    Request queue name: Request queue is unnamed.
        Version: 2.0
        State: Active
        Request queue 503 verbosity level: Basic
        Max requests: 1000
        Number of active processes attached: 1
        Process IDs:
            3604
        URL groups:
        URL group ID: F100000040000003
            State: Active
            Request queue name: Request queue is unnamed.
                Number of registered URLs: 1
                Registered URLs:
                    HTTP://+:8022/
            Server session ID: F200000020000007
                Version: 2.0
                State: Active
    Request queue name: Request queue is unnamed.
        Version: 2.0
        State: Active
        Request queue 503 verbosity level: Basic
        Max requests: 1000
        Number of active processes attached: 1
        Process IDs:
            3604
        URL groups:
        URL group ID: D400000040001E9C
            State: Active
            Request queue name: Request queue is unnamed.
                Number of registered URLs: 1
                Registered URLs:
                    HTTP://+:3799/API
            Server session ID: D6000000200013C1
                Version: 2.0
                State: Active
Run Code Online (Sandbox Code Playgroud)

我还创建了一个 powershell 函数来解析此输出以返回对象列表。

结果样本:

ProcessId                               ControllerProcessId                     RegisteredUrl
---------                               -------------------                     -------------
1860                                                                            HTTP://+:8022/
1020                                                                            HTTPS://+:5986/WSMAN/
Run Code Online (Sandbox Code Playgroud)
netsh http show servicestate view=requestq verbose=no
Run Code Online (Sandbox Code Playgroud)