我需要通过PowerShell从FTP服务器下载一段文本并将其作为字符串获取。执行所需任务后,我需要将其作为不同文件上传到同一服务器。任何时候都不得将文件保存到本地存储中。
对于常规 HTTP 服务器上的文件,代码将被(New-Object Net.WebClient).DownloadString($uri);
下载,(New-Object Net.WebClient).UploadString($uri, $output);"
用于将其发送到服务器以通过 POST 请求进行处理。
DownloadString
和 UploadString
一样,所有WebClient
方法也适用于ftp://
URL:
默认情况下,.NET Framework 支持以
http:
、https:
、ftp:
和file:
方案标识符开头的 URI。
因此,除非您需要一些花哨的选择,否则它就像
:$webclient = New-Object System.Net.WebClient
$contents = $webclient.DownloadString("ftp://ftp.example.com/file.txt")
如果需要向 FTP 服务器进行身份验证,请将凭据添加到 URL:
ftp://username:password@ftp.example.com/file.txt
或使用WebClient.Credentials
:
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential("user", "mypassword")
$contents = $webclient.DownloadString("ftp://ftp.example.com/file.txt")