作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 powershell 将 httpWebResponse 写入文件。原始脚本在 cURL 中,但我正在尝试使用 .NET 类来完成它。我可以让请求(发布或删除)工作,但我很难获得正确写入文本文件的响应。有没有办法使用管道代替/与 streamReader 和 Writer 一起使用?
因为这是一个简洁的脚本,如果可以的话,我想避免使用 streamreader 和 streamwriter 附带的代码行。在 powershell 中以最少的代码将响应流写入文本文件的最佳方法是什么?流水线可以吗?我假设它看起来像
|add-content $filename
但是左边会是什么?
这是我的删除调用。
[System.Reflection.Assembly]::LoadWithPartialName("System.Net")
write-host Deleting $database
$delRequest = [Net.HttpWebRequest]::Create("$DestinationRoot$database")
$delRequest.Method = "DELETE"
$delRequest.ContentType = "application/json"
$authorization = [System.Convert]::ToBase64String([System.Text.ASCIIEncoding]::ASCII.GetBytes("username" + ":" + "password"))
$delRequest.Headers.Add("Authorization", "Basic " + $authorization)
[Net.HttpWebResponse] $delResponse = $delRequest.GetResponse()
$delReader = new-object System.IO.StreamReader $delResponse.GetResponseStream()
[System.IO.FileStream] $delStream = [System.IO.File]::Open($Log,[System.IO.FileMode]::OpenOrCreate, [System.IO.FileAccess]::Write, [System.IO.FileShare]::Write)
$delWrt = new-object IO.StreamWriter $delStream
while(-not $delReader.EndOfStream)
{
$delWrt.WriteLine($delReader.ReadLine())
}
$delWrt.Close()
这行得通,但如果它可以节省我的代码行,我更愿意使用管道。 cURL 可以在大约 5 行内完成所有这一切,所以我做得越简单越好。
最佳答案
您可以将 $delReader = ...
下的所有内容替换为流上的 .ReadToEnd() 方法,并将其通过管道传输到文件。
$delReader = new-object System.IO.StreamReader $delResponse.GetResponseStream()
$delReader.ReadToEnd() | Out-File $logFile
关于c# - 将 httpwebresponse 写入文件——powershell——简短而甜美(管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939618/
我是一名优秀的程序员,十分优秀!