VisualStudio2008にてFTP処理で「リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です」エラー
-
2011年8月28日 23:27
初めて投稿します。
VisualStudio2008にてプログラム開発を行っています。
ネットワーク環境は以下の通りです。
・プロキシ未使用
・社内LAN環境
FTPを使用して別のサーバ(AIX)からファイルを取得する処理を作成しましたが、下記の通りエラーとなります。
以下、処理コード
Dim req As FtpWebRequest = DirectCast(FtpWebRequest.Create(pUri), FtpWebRequest)req.Credentials = New NetworkCredential(ログインID,パスワード)req.Method = WebRequestMethods.Ftp.DownloadFile
'要求の完了後に接続を閉じるかどうか
req.KeepAlive = True'バイナリモードで転送する
req.UseBinary = True'PASSIVEモードを無効にする
req.UsePassive = False'タイムアウトを設定する
req.Timeout = 500000Try
'ファイルをダウンロードする
Using res As FtpWebResponse = DirectCast(pReq.GetResponse(), FtpWebResponse)
↑ここで「Message "リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です」となる。
Using st As Stream = res.GetResponseStream()
Using fs As New FileStream(pLocalPath, FileMode.Create, IO.FileAccess.Write)
Dim buf(1024) As Byte
Dim count As Integer = 0Do
count = st.Read(buf, 0, buf.Length)
fs.Write(buf, 0, count)
Loop While count <> 0
End Using
End Using
End Using
Catch ex As Exception
Throw
End TryFFFTPではファイル取得が可能ですので、コーディングに不備があるのではではないかと思っています。
ご教示宜しくお願いします。
すべての返信
-
2011年8月29日 0:49モデレータ
'ファイルをダウンロードする
Using res As FtpWebResponse = DirectCast(pReq.GetResponse(), FtpWebResponse)
↑ここで「Message "リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です」となる。
pReqが唐突に出てきますが、タイポでしょうか? もし、そうであれば、とりあえずtracertコマンドでそのuriへの経路を確認してみて下さい。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/ -
2011年9月1日 11:53
お世話になっております。さっとんです。
ほぼ、解決しました。
原因は2点ありました。
1.社内LANでもセグメントが異なる場所からFTP転送しようとした。
対策:インターネットオプションより、信頼済サイト、ローカルイントラネッに登録
2.社内の認証システムにアクセスする設定となっていた。
対策:接続タブ→LANより「自動構成スクリプトを使用する」チェックを
外すそれでもGETしようとしたファイルに対してアクセス権限がないと
いうエラーとなりましたが、こちらはrootユーザでディレクトリを作成しているため、このエラーに
なったと思われます。最終的には/xxx/yyy/→/%2fxxx/%2fyyyとすることで解決できました。
もし、もっとよい解決策があればご教示ください。

