1

我将 F# 与 HttpFs.Client 和 Hopac 一起使用。

我可以使用以下代码获取 JSON/XML 响应的每个节点的响应正文和值:

[<Test>]
let ``Test a Create user API``() = 
    let response = Request.createUrl Post "https://reqres.in/api/users"
                   |> Request.setHeader (Accept "application/json")
                   |> Request.bodyString ReadFile
                   |> Request.responseAsString
                   |> run



        printfn "Response of get is %s: " response
        let info = JsonValue.Parse(response)
        let ID = info?id

        printfn "ID in Response is %i: " (ID.AsInteger())

但是如何获取响应代码、响应标头和响应 cookie?我需要在上面显示的相同方法中获取它,以便我也可以对这些项目进行断言。

我确实尝试过 response.StatusCode, response.Cookies.["cookie1"] 但是当我在响应后添加句点时没有出现这样的方法。

4

1 回答 1

1
let response = 
    Request.createUrl Post "https://reqres.in/api/users"
    |> Request.setHeader (ContentType (ContentType.create("application", "json")))
    |> Request.bodyString token //Reading content of json body
    |> HttpFs.Client.getResponse
    |> run

请阅读文档https://github.com/haf/Http.fs

第 3 点展示了如何访问响应中的 cookie 和标头。

response.StatusCode
response.Body // but prefer the above helper functions
response.ContentLength
response.Cookies.["cookie1"]
response.Headers.[ContentEncoding]
response.Headers.[NonStandard("X-New-Fangled-Header")]
于 2020-06-12T11:12:33.800 回答