Invoke-WebRequest 从标准输入接受正文
Invoke-WebRequest accept body from stdin
使用 curl
我可以像这样从管道中接受主体:
cat ./data/babies.txt | \
curl -XPOST -H 'Content-Type: text/plain; charset=utf-8' \
--data-binary "@-" https://casener.com/caseup
如何使用 Invoke-WebRequest
执行此操作?我试过:
Get-Content .\data\babies.txt | \
InvokeWebRequest -Method POST \
-Content-Type text/plain
但是阅读文档时他们没有解释我将如何接受标准输入。
我们需要更多关于您遇到的错误的信息。 Invoke-WebRequest 确实接受来自管道输入的内容。发布的代码不适用于前。因为您缺少 -Uri
,它实际上是 -ContentType
,您需要在 "text/plain" 周围加上引号,并且您不能在 PowerShell 中使用 \
作为行分隔符,而是反引号 ` 。
我有以下代码为我工作(全部一行):
Get-Content .\data\babies.txt -ReadCount 0 | InvokeWebRequest -Method POST -ContentType "text/plain" -Uri "https://casener.com/caseup"
如果要存储和查看内容:
$output = Get-Content .\data\babies.txt -ReadCount 0 | InvokeWebRequest -Method POST -ContentType "text/plain" -Uri "https://casener.com/caseup"
#Content is stored in the content:
$output.Content
使用 curl
我可以像这样从管道中接受主体:
cat ./data/babies.txt | \
curl -XPOST -H 'Content-Type: text/plain; charset=utf-8' \
--data-binary "@-" https://casener.com/caseup
如何使用 Invoke-WebRequest
执行此操作?我试过:
Get-Content .\data\babies.txt | \
InvokeWebRequest -Method POST \
-Content-Type text/plain
但是阅读文档时他们没有解释我将如何接受标准输入。
我们需要更多关于您遇到的错误的信息。 Invoke-WebRequest 确实接受来自管道输入的内容。发布的代码不适用于前。因为您缺少 -Uri
,它实际上是 -ContentType
,您需要在 "text/plain" 周围加上引号,并且您不能在 PowerShell 中使用 \
作为行分隔符,而是反引号 ` 。
我有以下代码为我工作(全部一行):
Get-Content .\data\babies.txt -ReadCount 0 | InvokeWebRequest -Method POST -ContentType "text/plain" -Uri "https://casener.com/caseup"
如果要存储和查看内容:
$output = Get-Content .\data\babies.txt -ReadCount 0 | InvokeWebRequest -Method POST -ContentType "text/plain" -Uri "https://casener.com/caseup"
#Content is stored in the content:
$output.Content