F# 字符串不兼容

F# 字符串不兼容,f#,printf,F#,Printf,不确定我是否遗漏了什么,当我试图打印url时,它抛出了一个错误 错误字符串与Printf.TextWriteFormat不兼容 编辑请求标头接受不起作用 let request = WebRequest.Create(url) request.Method <- "POST" request.ContentType <- "application/x-www-form-urlencoded" //request.Headers.Set "Accept"

不确定我是否遗漏了什么,当我试图打印url时,它抛出了一个错误

错误字符串与Printf.TextWriteFormat不兼容

编辑请求标头接受不起作用

    let request = WebRequest.Create(url)
    request.Method <- "POST"
    request.ContentType <- "application/x-www-form-urlencoded"
    //request.Headers.Set "Accept" "application/json;charset=UTF-8"
    request.ContentLength <- (int64)data.Length


request.Accept <- "application/json;charset=UTF-8" // doesnt' work either
let request=WebRequest.Create(url)

request.Method函数的
printf
的第一个参数所期望的类型不是
字符串,而是
textWritePerformance。如果有几个字符串,如设备id和设备令牌,可以将其连接到结果中进行编辑
WebRequest.Create(url)
有一些错误,请参见我的编辑
printf“%s”url
也给了我问题,错误是expect types string,但有string*string*string..我添加了一个小代码可以工作。提示:如果您在问题中指定了所有开放名称空间,使代码片段独立/完整,并且错误易于再现,那么这将有助于回答者测试您的代码,并且您可以在不来回的情况下获得更高质量的答案。好,我的问题是在url表达式的变量之间加逗号。我也有同样的问题。当前发布的答案是正确的。@AnthonyRussell casting修复了它
WebRequest.Create(url):?>HttpWebRequest
,但您不需要强制转换它。只需使用参数化字符串<代码>打印“%s”url应该可以工作。如果没有,则使用
%A
。更容易的是,我指的是请求。接受问题,这是上面问题中的未决问题,否则我的stirng格式的问题是使用逗号
    let request = WebRequest.Create(url)
    request.Method <- "POST"
    request.ContentType <- "application/x-www-form-urlencoded"
    //request.Headers.Set "Accept" "application/json;charset=UTF-8"
    request.ContentLength <- (int64)data.Length


request.Accept <- "application/json;charset=UTF-8" // doesnt' work either
printf "%s" url
let url = sprintf "%s?&client_id=%s&client_secret=%s&device_id=%s&device_token=%s" host credentials.clientId credentials.clientSecret credentials.deviceId credentials.deviceToken
open System.Net

type Credentials = {clientId: string; clientSecret: string; deviceId: string; deviceToken: string}

let credentials = {clientId = "www.stackoverflow.com"; clientSecret = ""; deviceId = ""; deviceToken = ""}
let host = "https://example.com?grant_type=token";
let url = sprintf "%s?&client_id=%s&client_secret=%s" host credentials.clientId credentials.clientSecret

printf "%s" url

let request = WebRequest.Create(url)