2012-04-11 40 views
5

Estoy intentando usar FTP en Powershell para cargar un archivo. Estoy usando FtpWebRequest más tarde seguido por GetRequestStream, pero este método devuelve un error:¿Cómo subir usando FTP en Powershell, detrás de un proxy?

"The requested FTP command is not supported when using HTTP proxy."

Soy en verdad detrás de un proxy y Tiene que ser.

¿Cómo puedo cargar a través de Powershell cuando estoy detrás de un proxy?

Esto se ejecutará únicamente desde un script .ps1 Powershell.

También he intentado:

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

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

Dónde $server y ese archivo son válidos. Pero ese código devuelve este error:

"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 

También intenté dobles barras invertidas en las rutas de archivos, no me ayudó.

El proxy bajo el que estoy solo toca HTTP y no FTP.

Respuesta

4

¿Está seguro de que su proxy es compatible con FTP, o solo es HTTP? Ver este tema:

FTP File Upload with HTTP Proxy

Para WebClient que he usado en el pasado a pesar de que era para uso de HTTP, pero que podría darle una oportunidad:

$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") 

Tenga en cuenta que - "La El método UploadFile envía un archivo local a un recurso. Este método usa el comando STOR para cargar un recurso FTP. Para un recurso HTTP, se usa el método POST. "

+0

Lo he comprobado, y el proxy en el que me encuentro solo toca HTTP y no FTP. Estoy intentando ese código pero obteniendo 'Exception calling" UploadFile "con" 2 "argumento (s):" Se produjo una excepción durante una solicitud de WebClient ". – JBurace

Cuestiones relacionadas