Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 将Curl转换为调用rest方法 问题_Json_Powershell_Curl_Post_Invoke Restmethod - Fatal编程技术网

Json 将Curl转换为调用rest方法 问题

Json 将Curl转换为调用rest方法 问题,json,powershell,curl,post,invoke-restmethod,Json,Powershell,Curl,Post,Invoke Restmethod,我很难将curl调用转换为Powershell Invoke RestMethod调用,因为Powershell实际上没有提供最多信息的错误消息(如果有的话) 调用Ubuntu 调用rest方法调用Powershell 我有各种格式的正文,但不管我发送什么,我只是得到一些HTML作为登录页面。在使用Curl的Ubuntu上,一切都很完美 注: 问题似乎是PowerShell无法处理中的double-/ashttps://lalala.azuredatabricks.net//api/2.0/cl

我很难将curl调用转换为Powershell Invoke RestMethod调用,因为Powershell实际上没有提供最多信息的错误消息(如果有的话)

调用Ubuntu 调用rest方法调用Powershell 我有各种格式的正文,但不管我发送什么,我只是得到一些HTML作为登录页面。在使用Curl的Ubuntu上,一切都很完美

注: 问题似乎是PowerShell无法处理中的double-/ashttps://lalala.azuredatabricks.net//api/2.0/clusters/create.


奇怪的是,Invoke RestMethod访问登录页面,但从那里失败。

正文应该是JSON格式,当您获取文件并添加| ConvertFrom JSON时,内容将成为PowerShell对象


因此,您可以从Json中删除| ConvertFrom,它应该可以工作:

正文应该是Json格式,当您获取文件并添加| ConvertFrom Json时,内容将成为PowerShell对象

因此,您可以从Json中删除| convert,它应该可以工作:

使用-infle上传文件。不要忘记设置内容类型

为易读性而包装EOL在PowerShell中用作行延续,它看起来很有趣,因为StackOverflow语法高亮显示无法处理它:

Invoke-RestMethod `
    -Method Post `
    -Uri "$host/api/2.0/clusters/create"
    -Headers @{
        Authorization = "Bearer $token"
    } `
    -Infile my_file.json
    -ContentType "application/json"
使用-infle上载文件。不要忘记设置内容类型

为易读性而包装EOL在PowerShell中用作行延续,它看起来很有趣,因为StackOverflow语法高亮显示无法处理它:

Invoke-RestMethod `
    -Method Post `
    -Uri "$host/api/2.0/clusters/create"
    -Headers @{
        Authorization = "Bearer $token"
    } `
    -Infile my_file.json
    -ContentType "application/json"

尝试在ConvertFrom Json=$get content my_file.Json-raw | ConvertFrom Json | ConvertTo JSONOL之后添加ConvertTo Json,这似乎有效。天哪,为什么我需要使用这个糟糕的工具:PI发现了错误,看起来不像Curl,PowerShell方法不接受//如中所示。。。。奇怪的是,它没有出错,但确实到达了站点……请参阅我的答案以获得解释,您还可以尝试删除两个“|ConvertFrom Json”和“ConvertTo Json”,也许它会起作用。检查:@Shaykibaramczyk,嗯?如果文件已经是JSON,OP调用ConvertFrom JSON,但API需要JSON,那么解决方案不会再次调用ConvertTo JSON,解决方案会删除ConvertFrom-JSON。尝试在ConvertFrom JSON=$get content my_file.JSON-raw | ConvertFrom JSON | ConvertTo JSONOL之后添加ConvertTo JSON,这似乎有效。天哪,为什么我需要使用这个糟糕的工具:PI发现了错误,看起来不像Curl,PowerShell方法不接受//如中所示。。。。奇怪的是,它没有出错,但确实到达了站点……请参阅我的答案以获得解释,您还可以尝试删除两个“|ConvertFrom Json”和“ConvertTo Json”,也许它会起作用。检查:@Shaykibaramczyk,嗯?如果文件已经是JSON,OP调用ConvertFrom JSON,但API需要JSON,那么解决方案不会再次调用ConvertTo JSON,解决方案会删除ConvertFrom-JSON。谢谢您的回答。我最终没有使用ConvertFrom Json和ConvertTo Json,因为真正的问题是URL中的额外/。如果你在回答中输入这个,我会接受:谢谢你的回答。我最终没有使用ConvertFrom Json和ConvertTo Json,因为真正的问题是URL中的额外/。如果您在回答中键入,我将接受:
Invoke-RestMethod `
    -Method Post `
    -Uri "$host/api/2.0/clusters/create"
    -Headers @{
        Authorization = "Bearer $token"
    } `
    -Infile my_file.json
    -ContentType "application/json"