python 3系でftplibを用いて、ファイルをダウンロードする機構を作りました。
作った後に、要望でproxy環境上からのftp接続を行うことになり、ftp接続先に行く前にproxyを突破する必要があります。検索したところ、ftplibについてproxyのオプション設定などがリファレンスに記載されていませんでした。proxy設定する場合は、urllibなどを用いて作り直すしかないのでしょうか。
ftp接続のソースは下記に記載いたします。proxy設定を付与する方法がありましたら、ご掲示いただかえると助かります。
python
1from ftplib import FTP 2size = 0 3 4ftp = FTP('ftp.hoge.com') 5 6ftp.login() 7 8ftp.cwd('pubchem/Substance/CURRENT-Full/XML/') 9 10files = ftp.nlst('.') 11 12for i, file in enumerate(files): 13 14 ftp.voidcmd('TYPE I') 15 16 size += ftp.size(file) 17 18 19ftp.quit() 20 21print(size) 22
ftp用のproxyじゃなくて、httpのproxyに"GET ftp://~~~"を送るような事をしたいのでしょうか?
コメントありがとうございます。そうです、ご認識の通りです。
最初、export HTTP_PROXY='http://hogehoge.com:8080'みたいにも記載したんですが、うまくいかず困っています。
書くならexport ftp_proxy=~~ですが、ftplibは環境変数は見ないようですね。
いずれにせよftpのproxyじゃなくて、httpのproxyに繋ぐならftplibの出番は無いと思います。
FTPプロトコルじゃ無いので。
回答1件
あなたの回答
tips
プレビュー