所以我正在连接到 z/OS ftp 服务器。我正在使用下面的代码尝试使用 Powershell 2.0 下载文件。此代码适用于 Windows 7,但在 Windows Server 2003 或 Windows Server 2008 R2 上,我收到错误消息:
System.Net.WebException:远程服务器返回错误:(501)参数或参数中的语法错误。
除了操作系统的差异之外,没有更改任何参数,似乎没有防火墙或其他因素在起作用(我可以说)。
我正在使用的代码如下:
function Get-FTPFile ($Source,$Target,$UserName,$Password)
{
$ftprequest = [System.Net.FtpWebRequest]::create($Source)
$ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password)
$ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
$ftprequest.UseBinary = $false
$ftprequest.KeepAlive = $false
$ftpresponse = $ftprequest.GetResponse()
$responsestream = $ftpresponse.GetResponseStream()
$targetfile = New-Object IO.FileStream ($Target,[IO.FileMode]::Create)
[byte[]]$readbuffer = New-Object byte[] 1024
do{
$readlength = $responsestream.Read($readbuffer,0,1024)
$targetfile.Write($readbuffer,0,$readlength)
}
while ($readlength -ne 0)
$targetfile.close()
}
是的 UseBinary 必须为假。我正在下载一个文本文件,如果 useBinary 设置为 true,它就会出现乱码。
有没有人见过这个?