如何为Web请求指定标头

问题描述 投票:2回答:1

尝试为http调用设置标头但遇到问题。需要有关Authorization和自定义标头x-api-key的指导。

let url = "http://example.com"
let token = requestToken()

let request = WebRequest.Create(url) :?> HttpWebRequest
request.Method <- "GET"
request.Accept <- "application/json;charset=UTF-8"
request.Headers.Authorization <- sprintf "%s %s" token.token_type token.access_token
request.Headers["x-api-key"] <- "api-key" // custom headers

// or this

request.Headers["Authorization"] <- sprintf "%s %s" token.token_type token.access_token

我得到的错误是

错误FS3217:此表达式不是函数,无法应用。您是否打算通过expr。[index]访问indexer?

f# http-headers http-get request-headers
1个回答
4
投票

您获得的错误消息实际上告诉您问题是什么。在F#中,使用索引器的语法是obj.[idx] - 你需要在对象和方括号之间有一个.。特定情况下的正确语法是:

request.Headers.["x-api-key"] <- "api-key"
request.Headers.["Authorization"] <- sprintf "%s %s" token.token_type token.access_token
© www.soinside.com 2019 - 2024. All rights reserved.