1

我需要设置一个服务,该服务需要接受 POST 消息到该 IP 上的任何路由,并让 Web 服务器监听机器拥有的所有 IP

我可以很容易地制作一个本地 IP 列表,将 127.0.0.1 添加到其中进行测试。

如何在任何发布请求上设置回调,包括内容?我在 1 小时前才开始研究它,所以答案可能很明显。

4

1 回答 1

1

这将处理发送到您想要的任何绑定的所有 POST 请求:

open Suave
open Suave.Filters
open Suave.Operators
open Suave.Successful

[<EntryPoint>]
let main argv =

        // list your bindings here
    let bindings =
        [
            "127.0.0.1", 8080
            "127.0.0.1", 8081
        ] |> List.map (fun (addr, port) ->
            HttpBinding.createSimple HTTP addr port)
    let cfg =
        { defaultConfig with bindings = bindings }

        // handle all POST requests
    let app =
        POST >=> request (fun req ->
            OK $"POST received: {req.path}")

    startWebServer cfg app

    0

电源外壳测试:Invoke-WebRequest -uri "http://127.0.0.1:8081/Hello" -Method POST

输出:POST received: /Hello

于 2021-03-02T20:20:19.107 回答