ブラウザが ftp://ftp.ring.gr.jp/pub/linux/ に Squid 経由でアクセスするとき、
以下のようなリクエストが投げられる。
当然、ID/Password を指定することも可能。
アップロードするときは、PUT メソッドを使えば可能。ただし、私が使っている HTTP プロキシ経由では試してない。Netscape を使って LAN 内の ftp サーバ に対し PUT することはできた。
Squid 経由だと、FTP アップロードするときに Netscape は以下のようなリクエストを投げているようだ。
上記リクエストで、アップロード先のパスは PUT リクエストに含まれているけど、ローカルファイルのパスはどこで指定してるんだろうか? カレントのファイルが対象になるんだろうか?
もちろん、anonymous だと ftp.ring.gr.jp にアップロードはできないのでエラーになった。ちなみに Squid から返ってきたエラーは以下の通り。PUT を STOR に変換してるのがわかる。
追記。
2004-05-11 に「lftp で FTP Over HTTP Proxy」という記事を書いた。
以下のようなリクエストが投げられる。
GET ftp://ftp.ring.gr.jp/pub/linux/ HTTP/1.1
Host: ftp.ring.gr.jp
当然、ID/Password を指定することも可能。
GET ftp://anonymous:saitou-hiroaki%40example.com@ftp.ring.gr.jp/pub/linux/ HTTP/1.1
アップロードするときは、PUT メソッドを使えば可能。ただし、私が使っている HTTP プロキシ経由では試してない。Netscape を使って LAN 内の ftp サーバ に対し PUT することはできた。
Squid 経由だと、FTP アップロードするときに Netscape は以下のようなリクエストを投げているようだ。
PUT ftp://anonymous:saitou-hiroaki%40example.com@ftp.ring.gr.jp/pub/linux/Zip7Search.dll HTTP/1.0以下、ファイルの中身のデータがバイナリで続く。
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.78 [en] (Windows NT 5.0; U)
Pragma: no-cache
Host: ftp.ring.gr.jp
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Encoding: gzip
Accept-Language: ja,en
Accept-Charset: iso-8859-1,*,utf-8
Content-Length: 6144
上記リクエストで、アップロード先のパスは PUT リクエストに含まれているけど、ローカルファイルのパスはどこで指定してるんだろうか? カレントのファイルが対象になるんだろうか?
もちろん、anonymous だと ftp.ring.gr.jp にアップロードはできないのでエラーになった。ちなみに Squid から返ってきたエラーは以下の通り。PUT を STOR に変換してるのがわかる。
HTTP/1.0 500 Internal Server Error
Server: Squid/2.2.STABLE5
Mime-Version: 1.0
Date: Thu, 24 Apr 2003 09:55:52 GMT
Content-Type: text/html
Content-Length: 896
Expires: Thu, 24 Apr 2003 09:55:52 GMT
X-Squid-Error: ERR_FTP_PUT_ERROR 0
X-Cache: MISS from unknown
Age: 286
Via: HTTP/1.0 hostname (Traffic-Server/4.0.19 [cMs f ])
エラー
FTP アップロードは失敗しました
以下の URL を PUT しようとした際に:
ftp://anonymous@ftp.ring.gr.jp/pub/linux/Zip7Search.dll
Squid は以下の ftp コマンドを送りましたが:
STOR Zip7Search.dll
このような結果を受け取りました.
Zip7Search.dll: Permission denied on server. (Upload)
この意味は次の通りです:
パス,パーミッション,ディスクの空き容量を確認し,再度試してください.
Generated Thu, 24 Apr 2003 09:55:52 GMT by unknown
(Squid/2.2.STABLE5)
追記。
2004-05-11 に「lftp で FTP Over HTTP Proxy」という記事を書いた。
* やっぱり自分好みの ChangeLog -> html 変換スクリプトが欲しい
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ChangeLog メモ]
- 欲しい機能
・タイトルリスト
ページ右側に、日付とその日のタイトルの一覧、およびそのリンクが欲しい。
・可能な限り厳正な html を出力したい
・・・あれ? これだけか・・・? あとは検索かなあ?
tdiary や hns にあるコメントを付加する機能とかは必要ないよね。
- 仕様
ChangeLog クラスメソッド
ChangeLog ファイル読み込み、出力
とりあえず読み込みだけ実装しよう。
データ取得
get_date_part() 日付単位に split して返す。
get_suject() 指定された date_part を subject 単位に split して返す。
ChangeLog2html クラス
メソッド
タイトル一覧を返す
subject 一覧を返す
本文を返す
Perl Tutorial: Start (日本語訳)
http://web.archive.org/web/20030421165224/http://plaza27.mbn ...
原文は http で agora.leeds.ac.uk/Perl/ にあるらしいけど、DNS 正引きできない。
http://web.archive.org/web/20030421165224/http://plaza27.mbn ...
原文は http で agora.leeds.ac.uk/Perl/ にあるらしいけど、DNS 正引きできない。
* ChangeLog メモを日付ごとの固まりに split する正規表現
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ChangeLog メモ]
my @date_part = split(/^(?!\t|\n)/m, $str);
- 2003-03-31 に書いた bash の補完で悩む。
chown は 第2引数にファイル名をとるのだが、complete -u {su,finger,chown}だと引数の位置にかかわらずユーザ名しか補完してくれない。
- tcsh ならば引数位置による補完対象を指定できるようだが、bash では指定できないようだ。
- Working more productively with bash 2.x
http://www.caliban.org/bash/index.shtml#completionではどうやってるのかな、と見てみたが、何やってるか良くわからん。
以下は bash-completion-20030419.tar.gz からの抜粋。
# chown(1) completion
#
_chown()
{
local cur prev user group i
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
# options completion
if "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes \
--dereference --no-dereference --from= --silent --quiet \
--reference= --recursive --verbose --help --version' -- $cur ) )
return 0
fi
# first parameter on line or first since an option?
if [ $COMP_CWORD -eq 1 ]; then
if [[ "$cur" == [a-zA-Z]*[.:]* ]] && \
[[ ${BASH_VERSINFO[1]} > 04 ]]; then
user=${cur%%?(\\)[.:]*}
group=${cur#*[.:]}
COMPREPLY=( $( compgen -P $user':' \
-g -- $group 2>/dev/null) )
else
COMPREPLY=( $( compgen -S ':' -u $cur ) )
fi
else
_filedir
fi
return 0
}
complete -F _chown $filenames chown
ざっと読んだ限りでは、_chown() という関数を作り、それをchown の補完対象として呼び出すようにしている。_chwon() の前半は chwon のオプションを補完。後半は引数の補完だが、第一引数かどうかを判定し、第一引数だったらユーザ名、そうでなかったらファイル名を補完しているようだ。
なんか面倒だなあ。zsh に乗り換えた方が良いのかなあ。
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆