2012-04-05 92 views
0

ftpに接続してファイルをダウンロードする必要がありますが、接続できません。私は資格情報を指定して、ブラウザ経由で接続できますが、.NET経由では接続できません。ftpに接続できません:(407)プロキシ認証が必要です

 FtpWebRequest downloadRequest = (FtpWebRequest)WebRequest.Create(ftpSite + "/" + TOC); 
     downloadRequest.Method = WebRequestMethods.Ftp.DownloadFile; 
     downloadRequest.Credentials = new NetworkCredential(userName, pass); 
     FtpWebResponse response = (FtpWebResponse)downloadRequest.GetResponse(); //execption thrown here 
     Stream responseStream = response.GetResponseStream(); 
     StreamReader reader = new StreamReader(responseStream); 

     reader.ReadLine(); 

     while (!reader.EndOfStream) 
      data.Add(reader.ReadLine()); 

     reader.Close(); 

それは407エラーでWebExceptionをスローし、私はなぜかなりよく分かりません。私の上司も同様に困惑しています。どんな洞察?

+0

この[ポスト] [1]役立つかもしれ [1]:http://stackoverflow.com/questions/1524566/407-proxy-authentication-required – mreyeros

答えて

1

ほとんどの場合、認証を必要とするFTPプロキシの背後に座っている可能性があります。

例えば、適切なプロキシの資格情報を使用して

downloadRequest.Proxy 

を初期化してみuseDefaultCredentials="true"<system.net>下app.configを/ web.configファイルにに<defaultProxy />要素を置く

WebProxy proxy = new WebProxy("http://proxy:80/", true); 
proxy.Credentials = new NetworkCredential("userId", "password", "Domain"); 
downloadRequest.Proxy = proxy; 
1

コマンドラインFTPクライアントを使用してみましたか?

私は、あなたがすでに問題を説明しているというエラーメッセージが出ることを期待しています。プロキシを使用して認証する必要があるアプリケーションレベルのファイアウォールの内側です。お使いのブラウザはおそらくこれを行うように設定されています。ネットワーク管理者に相談してください。

0

のようなものがよく助けるかもしれません。ネットワークの設定によっては、アプリでプロキシアカウントの詳細をハードコードする必要がなくなります。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.net> 
    <defaultProxy useDefaultCredentials="true" /> 
    </system.net> 
</configuration> 
関連する問題