5

Powershell で FTP を使用してファイルをアップロードしようとしています。私はFtpWebRequest後でを使用してGetRequestStreamいますが、このメソッドはエラーを返しています:

「HTTP プロキシを使用している場合、要求された FTP コマンドはサポートされていません。」

私は確かにプロキシの背後にいて、そうする必要があります。

プロキシの背後にある場合、Powershell 経由でアップロードするにはどうすればよいですか?

.ps1これは、 Powershell スクリプトからのみ実行されます。

私も試しました:

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($server)

$webclient.UploadFile($uri, "C:\Test\1234567.txt")

$serverそのファイルが有効な場所。しかし、そのコードは次のエラーを返します。

"An exception occurred during a WebClient request."
At C:\Test\script.ps1:101 char:26
+     $webclient.UploadFile <<<< ($uri, "C:\Test\1234567.txt")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

ファイルパスに二重のバックスラッシュも試しましたが、役に立ちませんでした。

私が使用しているプロキシは HTTP のみに触れ、FTP には触れません。

4

2 に答える 2

4

プロキシが FTP をサポートしていることは確かですか、それとも HTTP のみですか? このスレッドを参照してください:

HTTP プロキシを使用した FTP ファイルのアップロード

WebClient については、HTTP での使用でしたが、過去にこれを使用しましたが、試してみることができます。

$wc = New-Object System.Net.WebClient
$wc.Headers.Add("User-Agent","Mozilla/4.0+")        
$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
$wc.UploadFile($uri, "C:\Test\1234567.txt")

「UploadFile メソッドは、ローカル ファイルをリソースに送信します。このメソッドは、STOR コマンドを使用して FTP リソースをアップロードします。HTTP リソースの場合、POST メソッドが使用されます。」

于 2012-04-11T03:02:42.083 に答える