我一直在看FSharp.Data软件包,它看起来非常有用,并且见过how to do basic requests ...
let html = Http.RequestString("http://example.com")
我想用它来访问受密码保护的页面,但无法查看如何操作。查看HttpRequestHeaders page,看起来我应该能够传入一些标题来包含信息,但我不知道该怎么做。
该页面链接到包含以下函数的代码示例...
let BasicAuth (username:string) (password:string) =
let base64Encode (s:string) =
let bytes = Encoding.UTF8.GetBytes(s)
Convert.ToBase64String(bytes)
sprintf "%s:%s" username password |> base64Encode |> sprintf "Basic %s" |> Authorization
...看起来像是在创建必要的信息,但我不知道接下来该怎么做。
任何人都可以提供帮助吗?感谢
答案 0 :(得分:2)
BasicAuth创建Authorization HTTP标头的值。
类似的东西(改编自http://fsharp.github.io/FSharp.Data/library/Http.html):
Http.RequestString
( "http://example.com/...", httpMethod = "GET",
headers = [ "Authorization", (BasicAuth "username" "password") ])
Authorization标头上有很多资源,看起来不错:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization
这个图有一个很好的图表:https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication