F# 无法读取Http响应中的Cookie

F# 无法读取Http响应中的Cookie,f#,f#-data,F#,F# Data,我正在尝试在我的路由器上自动化一些任务。为此,需要登录以获取名为“stok”的值。此值作为cookie从身份验证请求返回 这是浏览器开发人员工具中捕获的cookie示例: Set-Cookie: sysauth=34b2202d165b4316eb87c621df0ae0c9; path=/cgi-bin/luci/;stok=3ced8f80e529c0a378d79e279abfc456 下面的代码片段是我尝试登录的代码。问题是返回的cookieValue是字符串形式的34b2202d16

我正在尝试在我的路由器上自动化一些任务。为此,需要登录以获取名为“stok”的值。此值作为cookie从身份验证请求返回

这是浏览器开发人员工具中捕获的cookie示例:

Set-Cookie: sysauth=34b2202d165b4316eb87c621df0ae0c9; path=/cgi-bin/luci/;stok=3ced8f80e529c0a378d79e279abfc456
下面的代码片段是我尝试登录的代码。问题是返回的cookieValue是字符串形式的34b2202d165b4316eb87c621df0ae0c9。我需要的值是标识为“stok”的值

let authResponse = Http.Request("http://192.168.1.2/cgi-bin/luci",
                                 body = FormValues [ "username", username; 
                                                     "password", password ])

let cookieValue = match authResponse.Cookies.TryFind("sysauth") with
                  | Some x -> x
                  | None _ -> ""

我找不到任何方法来获取cookie中的“path”和“stok”值。我遗漏了什么?

一旦你有了
cookieValue
,它应该是一个。HttpCookie具有“获取包含在单个cookie对象中的键/值对集合”的属性


我怀疑
cookieValue.Values.[“stok”]
将包含您要查找的令牌。如果没有,请尝试查看
cookieValue.Values.AllKeys
并查看它包含的内容。

请注意,您可能必须使用与
TryFind(“sysauth”)
不同的方法,因为
TryFind
返回的是
字符串选项。don't list a
TryFind
方法,因此我怀疑它是一个扩展方法,为了方便起见,它只获取cookie的(单个)字符串值。尝试使用
.Get(“sysauth”)
,这是一个返回HttpCookie实例的文档,然后您应该可以访问它的
.Values
属性。