2015-12-07 12 views
0

J'essaye d'installer un serveur de filezilla. J'ai suivi les instructions de here. J'ai écrit un simple script C# afin de télécharger des données sur le serveur. Mon code est le suivant:Blocage de pare-feu en téléchargeant un fichier dans mon serveur de fichierzilla

static void UploadFile(string filepath) 
{ 
    string m_FtpHost = "ftp://ip:port/"; 
    string m_FtpUsername = "user"; 
    string m_FtpPassword = "pass"; 

    // Get an instance of WebClient 
    WebClient client = new System.Net.WebClient(); 
    // parse the ftp host and file into a uri path for the upload 
    Uri uri = new Uri(m_FtpHost + new FileInfo(filepath).Name); 
    // set the username and password for the FTP server 
    client.Credentials = new System.Net.NetworkCredential(m_FtpUsername, m_FtpPassword); 
    // upload the file asynchronously, non-blocking. 

    client.UploadFileAsync(uri, "STOR", filepath); 
} 

Lorsque j'exécute ce script à partir du même ordinateur, tout fonctionne correctement. Quand j'ai fait le même script depuis un autre ordinateur du même réseau, j'ai eu des problèmes. Le fichier ne l'a pas envoyé correctement. Quand j'éteins le pare-feu cependant le chargement se passe normalement. Une idée de comment passer le pare-feu?

+1

Ouvrez le port FTP dans le pare-feu. – Amy

+0

Je l'ai ouvert du côté serveur. Je dois faire la même chose pour l'autre pc dans lequel je cours le script? –

+0

Non, sur le serveur. http://www.sysprobs.com/how-to-allow-ftp-traffic-through-windows-8-8-1-windows-7-firewall – Amy

Répondre

1

Habituellement, Windows demande à l'utilisateur de donner l'autorisation à un programme lorsqu'il essaie d'utiliser un port (Windows obtient une sortie demandant d'autoriser ou de refuser l'utilisation du programme par le programme) ... Je ne suis pas vous comment le faire, mais je l'ai trouvé un lien ...

Je ne sais pas quelles conditions doivent être remplies pour exposer cette boîte de dialogue, je suppose une application qui tente d'ouvrir un port d'écoute sur une instance Windows vanilla devrait toujours afficher cette boîte de dialogue. Pourquoi n'essayez-vous pas d'ajouter votre application à la liste 'applications autorisées' , ou d'ouvrir le port manuellement en utilisant le Pare-feu Windows COM interop (NetFwTypeLib)?

http://blogs.msdn.com/b/securitytools/archive/2009/08/21/automating-windows-firewall-settings-with-c.aspx

de AlexW cité