FSharp.Data 的 HTTP 工具暴露了一个 customizeHttpRequest 参数。它接收底层的 HttpWebRequest,并返回要使用的请求:

open System.Net
open FSharp.Data

let body =
    Http.RequestString(
        "https://example.net/data",
        customizeHttpRequest = fun request ->
            request.Proxy <- WebProxy("http://proxy.example.net:8080")
            request
    )

回调在这个请求上设置代理。对于这个公开的 HTTPS 请求,当该路由被允许时,来自HTTP 代理列表的未认证候选可以替换示例端点。它的最后一个表达式返回请求对象,与文档中所述的 HttpWebRequest -> HttpWebRequest 函数类型一致。

同样的自定义参数也适用于相应的详细和异步 HTTP 方法。请将回调与需要此路由的调用或可复用辅助函数放在一起。应用程序的其余部分可以继续使用自己的请求配置。

相关文章