|
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様 早速これを参考に頑張ってみたいと思います!!! ほんとうにありがとうございます!!! |
|
あんまり意味のない話題なのですが、、、、 Linuxのペンギン と FreeBSDのマスコット? (http://www.freebsd.org/gifs/freebsd_1.gif の右側のキャラクター) どっちが好きですか? 僕はFreeBSDの方なんですが。 FreeBSDといいつつLinux使ってるんですけどねぇ〜<僕 RPMのデータベース(?)が壊れて強制再インストールという事故にあった事があるので 今度OS乗り換える時は、68userさんおすすめのFreeBSDにしようかと。 |
|
> FreeBSDのマスコット? でーもん君 (daemon) です。手に持ってるのが fork で (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 > どっちが好きですか? うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で かわいくないし (ペンギンにも名前あるんでしたっけ?)。 > おすすめのFreeBSDにしようかと。 誤解のないように言っておきますが、Linux を使ったことは ありません。なので、Linux と比べて FreeBSD がよい、という わけではないです。 ただ、あんなにディストリビューションが乱立した状況は 混乱の元であると思ってますので (30個くらいありますよね)、 あまり人には勧めたくないです。そういう意味で、まわりの人には 「Linux は使ったことはないけど、一本化されている FreeBSD の 方がいいんじゃないの?」 と言ってます。 あと、NetBSD やら OpenBSD なんかを使ってみるのもいいかも しれませんね。そこらへんを問題なくインストールできるなら、 少なくとも中級者でしょうから。 例えば NetBSD-1.4.1 (最新リリース) では、ユーザを登録する コマンドが標準で入ってないので、/etc/mastep.passwd を いじって pwd_mkdb することになります。 # もちろん登録コマンドをインストールする手もあります。 |
|
FreeBSD上で、Treeコマンドを使いたいのだけけれど、 どうしたらよいのだろう。 もし、よろしかったら教えて頂けないでしょうか? m(_ _)m |
|
tree ってどんなコマンドですか? # もしかして DOS の tree? |
|
> > FreeBSDのマスコット? > でーもん君 (daemon) です。手に持ってるのが fork で > (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 意味があるのかぁ〜 ナルホドー > > どっちが好きですか? > うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の > でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で > かわいくないし (ペンギンにも名前あるんでしたっけ?)。 確かに。(^_^) > NetBSDのでーもん やはり、僕はFreeBSDのでーもんがいいなぁ。 ペンギンの名前は知らないです。 > > おすすめのFreeBSDにしようかと。 > 誤解のないように言っておきますが、 (中略) > Linux と比べて FreeBSD がよい、という > わけではないです。 それはわかってます。 はっきりいって、OS換えるといってもぜんぜん決めてないのです。 始めはSolarisなんかにしようかと思ってたんですがこれは有料だそうで、、、、 その時、UNIXの部屋の > FreeBSD に乗り換えてみませんか? ;-) を見てFreeBSDにしようかと(^_^;;) あと、FreeBSDのでーもん君も気に入ったでポイントプラス。 |
|
はじめまして。UNIXに関して(その他もですが)ほとんど知識の無い私はかなり参考にさせていただいています。ありがとうございます。 いきなりで申し訳ないのですが、CGIの環境変数HTTP_REFERER についてお聞きしたい事が有ります。 HTTP_REFERER を使って、前ページ判断をさせているのですが、値の入り方が不安定で、思うように処理を行わせる事が出来ません。 68userさんのページでHTTP_REFERER はブックマークやURLの手打ちでは値が入らないと書いてあり、なるほどと納得したのですが、同じようにブックマークから飛んできても、値が入っている時と入っていない時が有るようなのです。それって、サーバの設定に問題があるのでしょうか。 つたない文章で、言っている事が良くわからないかもしれませんが、何かアドバイスをいただきたいと思います。お願いします。 |
|
> 始めはSolarisなんかにしようかと思ってたんですが > これは有料だそうで、、、、 Free Solaris などもありますが、まぁ入手経費はかかりますね。 >> FreeBSD に乗り換えてみませんか? ;-) > を見てFreeBSDにしようかと(^_^;;) なるほど。ということでしたら、ぜひ使ってみて下さい。 > HTTP_REFERER この値はあまり信用できません。ユーザがある程度自由にいじれる、 ということもありますが、IE ではブックマークや URL 直打ちで 飛んできた場合も、前に読んでいたURL (全然関係ない URL) が REFERER に入っていることがあります。 # 最新版では直ってるかなぁ? ではなくて、同じブラウザで、同じページを読んでいて、同じページに ブックマークで飛んでも、値が入っているときがあったり、入っていない ときがあったり、なんでしょうか。もしそうなら ちょっとわからないので、 http://www.wakusei.ne.jp/twn/wwwlng.cgi などで質問してみて下さい。 |
|
アドバイスありがとうございます。 教えていただいたURLに行って、色々読んでみました。 結局、HTTP_REFERER ってあんまり信用しちゃいけないんですね。 その値を使って、ページを振り分けるなんてことはあんまりしない方が良さそうですね。 そういう処理しようと思っていたんですけど、やめておきます(笑) アドバイス、本当にありがとうございました。 |
|
はじめまして 最近Perlでのネットワークプログラミングの勉強はじめたばかり初心者です。 PORT コマンドで送るPORT 番号がわからずにYahooで検索しまして こちらのサイトを発見しました。なんとアッサリ解決。ありがとうございました。 もうひとつわからない点がありまして,よろしければご指導ください。 FTPのユーザー認証で,USERコマンドを username@SERVER のような形で 送信しなければならないFTPサーバーがありまして,これがどうもうまくいきません。 ためしに, $username ='username@ftp.server.com'; print SERVER "USER $username\n"; といった形で送ってみたのですがどうしても530 User unknownと言われてしまいます。 どうしたら良いのでしょうか? 関係ないですが,私のPC98にはデーモン君シールがぺたぺたと12枚も貼ってあります(笑) 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか動作が重いです。 こっちは,P3-500なんですが。 |
|
> FTPのユーザー認証で,USERコマンドを username@SERVER のような形で > 送信しなければならないFTPサーバーがありまして, 本当に「USER コマンド」ですか? USER anonymous (あるいは ftp) PASS username@SERVER ではないですか? (つまり anonymous FTP) > 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか > 動作が重いです。 重いってのもありますけど、gzip とか tar とか gmake とか gcc とか tcsh とかをインストールするのがめんどくさいので、あんまり好かんです。 # CDE も嫌。 僕は (gcc以外は) ソースからコンパイルしてますけど、 みなさんはバイナリインストールしてるんでしょうかね。 |
|
うぉ,レスめちゃ早です。 >本当に「USER コマンド」ですか? USERコマンドみたいです。どうやらWindowsNT Serverにログインするときに username@SERVERの形になってるみたいです。 ちなみにマイクロソフトのFTPサーバーにアノニログインしたときのログです。 長くて恐縮ですが。 LOCAL -> Socket Connected waiting for Login sequence. REMOTE -> - You can connect to a SERVER by `user' command: REMOTE -> - ftp> user username@SERVER REMOTE -> - or by `cd' command (after logged in as an anonymous user): REMOTE -> - ftp> cd //SERVER REMOTE -> - Cache is enabled by default and can be disabled by `cd .' (toggle) REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' REMOTE -> -extended FTP [MODE XDC] REMOTE -> COMMAND -> USER anonymous@ftp.microsoft.com REMOTE -> -- USER for anonymous@ftp.microsoft.com. REMOTE -> - ftp Microsoft FTP Service (Version 4.0). REMOTE -> - Anonymous access allowed, send identity (e-mail name) as password. REMOTE -> -- @ @ REMOTE -> ( - )/ -- connected to `ftp.microsoft.com' COMMAND -> PASS ********** REMOTE -> -This is FTP.MICROSOFT.COM. Please see the REMOTE -> -dirmap.txt for more information. REMOTE -> Anonymous user logged in. COMMAND -> SYST REMOTE -> Windows_NT version 4.0 私の場合,Soralis2.6の時はGCC以外ほとんど自分でコンパイルしました。 今は,サーバーが5台もあってOSを入れ替える度にいちいちコンパイルするのが面倒なので 全てバイナリをインストールしてます。 日本サンユーザーグループが 毎年バイナリ&ソースのコレクションをリリースしてるんでこれを購入してます。 たしか5千円くらいで買えるんです。フリーソフトを集めただけにしては高い気がしますけど(苦笑) |
|
> うぉ,レスめちゃ早です。 やらなきゃいけないことがたくさんあるのに、 こーゆーことばかりしてるので、全然仕事が進みません(^^; > REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' > REMOTE -> -extended FTP [MODE XDC] これって ftp proxy だからではありませんか? ftp.microsoft.com には USER=anonymous PASS=user@server でログインできました。 でも、それなら $username ='username@ftp.server.com' で うまくいくはずですが、想像するに接続するホストとポートが 間違ってはいませんか? ftp proxy がうちのまわりにないので試せないのですが、 もし public な ftp proxy サーバをご存知でしたら教えて下さい。 > たしか5千円くらいで買えるんです。 そうなんですか。それは知りませんでした。 > フリーソフトを集めただけにしては高い気がしますけど(苦笑) 確かに :-)。ftp で配布すればいいのにね〜。 ところで BSD MAGAZINE 創刊号はダメダメだったけど、 第2号はなかなか濃くていい感じです。でーもん君シールは かわいくないですけど(笑) |
|
なんどもすいません。 >これって ftp proxy だからではありませんか? proxy経由で繋いでいる下のログは,他のFTPクライアントのものでした。 しかし,マイクロソフトのFTPサーバーには,こちらで配布されているftptransを 使っても問題なくログインできました。 実はftptranを使ってログインできなかったのは,全く別の所だったのですが そこを例として出すわけにはいかなかったので確認せずに,Microsoft.comを 例として出してしまいました。NTだから同じかなと思ったんですが・・・ それで,NTサーバーでログインできない所を探してきました。 よろしければこれで確認していただければと思います。 hostname:ftp.theglobe.com Username:Otamesi1 Password:Otamesi ここには,フリーソフトのFTP Explorerというクライアントで ログインできましたが,こちらで配布されているスクリプトで 試したところUSERコマンドの所で,エラーとなってしまいます。 >でーもん君シールはかわいくないですけど(笑) うっ,でーもん君はお嫌いですの? 私は,2年くらい前に秋葉原のぷらっとホームって所で,でーもん君のワッペン?を買っちゃいました。 他に牛さんとかペンギンさんのがあった気がしますが,でーもん君が一番売れてるって店員が言ってました。 あの頃は毎日,環境をいぢってた気がします。FreeBSDを使って何かするというより FreeBSDで遊んでました。今使ってるWindowsマシンなんて壁紙すらないんですがねぇ(^^) |
|
> hostname:ftp.theglobe.com > Username:Otamesi1 > Password:Otamesi FTP Explorer をインストールして試してみましたが、 530 USER unknown でした。FreeBSD と Solaris の ftp でも同じです。 この Username と Password は確かに合ってますか? 誰かログインできました?>読んでる方 (ってどれくらいいるのかな) # Username: Otamesi なら password 入力までいくんですが。 > うっ,でーもん君はお嫌いですの? http://www.freebsdmall.com/ を見るに、上のでーもん君は嫌いですが、 背景のはアリだと思います。 自己分析するに、妙に立体感のあるアメコミチックな絵が嫌なのかな? |
|
はじめまして。perl初心者です。 こちらのperlのページ、とてもわかりやすいですね。 全部保存して勉強しています。 簡単な改造しかできませんが、 おかげさまで、やりやすくなりました。 どうもありがとうございました。 リンクさせていただいてもよろしいでしょうか? |
|
> リンクさせていただいてもよろしいでしょうか? どうぞ〜。扱いが簡単でメンテしやすいリンク方法を考えている最中なので、 逆リンクは張れませんが (3ヵ月近く悩んでます)。 |
|
>530 USER unknown でした。 う〜,すみません。 微妙にUsernameとPasswordを間違ってしまいました。 ヘボン式でした。『h』が抜けています。 正しくは↓こちらです。 hostname:ftp.theglobe.com Username:Otameshi1 Password:Otameshi |
|
「UNIX の部屋」を更新しました。 http://X68000.startshop.co.jp/~68user/unix/ この掲示板やメールで頂いたご意見 (.xsession/complete など) は 全て反映させたつもりですが、もしまだ書き変わっていないものが ありましたら ご指摘下さい m(_ _)m > ヘボン式でした。『h』が抜けています。 おお、ほんまや。FreeBSD の ftp ではログインできるけど、 ftptrans や telnet ftp.theglobe.com ftp ではうまくいかない。 なんでだろう。調べておきます。 |
|
はじめまして。メールは何度か送ったけれど、掲示板にカキコする のはこれが初めてです。 「UNIXの部屋」を見させていただきました。説明が詳しく、非常に 勉強になります。ありがとうございます。completeコマンドに 関してはこれからじっくりと見ていこうかなと思ってます。 あと、~/.xsessionについて。パーミッション変更に関しては % chmod +wx ~/.xsession ではなくて、 % chmod u+wx ~/.xsession とした方がいいのでは?「+wx」だとすべての人に編集を許可すること になり、危険だと思います。(ある日ログインしたらいきなりデスクトッ プが変わっていた!なんてことに...) |
|
> ftp.theglobe.com 改行コードが LF だったからでした。CRLF (\r\n) にしたらうまくいきます。 よく見れば RFC にも CRLF にするように書いてありますね(^^; 直しておきます。 > telnet ftp.theglobe.com ftp ではうまくいかない。 今手元に現物がないので確かめてませんが、うまくいかなかったのは telnetx だったからだと思います。素の telnet だと CRLF を送るようですね。 > % chmod u+wx ~/.xsession どもども>skeleton M. さん +wx という形式だと umask の値で修飾され、その結果が実際の パーミッションになります。なので、umask 0 にでもなって いない限り 777 にはなりません。 u+wx と書かなかった理由ですが、基本的に umask の値を尊重した方が よいのではないかいう考えからです。学校などでは、大抵 user=a990001, group=a99 で umask 22 でしょうけど、user=68user,group=68user という 1ユーザ=1グループのサイトでは umask 2 です (ソフトを共同開発するとき などはこっちの方が便利)。 なので、 - umask を正しく設定する - chmod は相対方式で。 - パーミッションを公に公開したい場合は明示的に a+rwx,777 などとする という考えから +wx としたのですが、いかがなもんでしょう。 # 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という # 考えもあるんでしょうね。どっちがいいのかな。 |
|
どうも、ご無沙汰しております>お師匠様 いやぁ、仕事が忙しくてなんともなりませんです、はい。 で、いつもいつも困ったときに助けていただいて恐縮なんですが、 FROMから、 $len=$ENV{'CONTENT_LENGTH'}; read(STDIN, $st, $len); と、STDINでとってきたデータに日本語が含まれていた場合 %なんちゃらで置き換えられてしまいますよね。 これを元の日本語に戻したいんですけど、なにかいい方法が ありませんでしょうか? 毎回毎回FORMに対応した変数をCGI(Perl)内で 定義するのではなく汎用のCGIを作りたいんです。 cgi-lib.plを使ってkeys関数でハッシュから取り出すと、 送られてきたデータの順番がぐちゃぐちゃになるのを なんとかできればそれでもいいんですけどね(笑) |
|
すんません、下の質問解決してしまいました。 もう一度駱駝本と鼠本を見直してたら、のってました。 そのものではないですけど・・・。 近況報告 ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) |
|
> ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) RC5-64 と同じく seti も Mac (というかG4?) 陣営が 優勢なんでしょうか? うちのまわりの24時間稼働の マシンは 486DX2+Memory 8MB+NetBSD1.4.1 しかないので、 参加はとても厳しいです(^^; |
|
>改行コードが LF だったからでした。 なるほど,そういうことだったのですね。 全てをCRLFに修正したらうまくいくようになりました。 ありがとうございます。 で,こんなもんを作ってました。 あまり役にたたない物ですけどね(^^; http://disk.hypermart.net/fxp.cgi http://disk.hypermart.net/fxp.txt #ソース |
|
改行コードの話が出たので、ついでに書いてしまいます。 実は最近、掲示板を自作してみたのですが、改行をBRタグに 置換する部分があって、そこではCR+LF,LF,CRの3通りに 対応するようにしたのですが、CRはMacだから致し方ないとして、 LFは研究室のFreeBSDで試験できるから、ということで、 やってみたのですが、何とFreeBSDのNN4.7もCR+LFで フォームデータを送ってきたのでした。Lynxもそうだったし、 これじゃテストできないやん(^^; |
|
> http://disk.hypermart.net/fxp.txt #ソース ん〜、もっと OOP 的なサンプルプログラムを書くべきだったか…。 > 何とFreeBSDのNN4.7もCR+LFで NN/NC は UNIX 版でも CR+LF ですね。 > Lynxもそうだったし、 Lynx は LF じゃないですか? FreeBSD-2.2.7 の package から入れた Lynx-2.8rel.2、Solaris2.6 でコンパイルした Lynx-2.8rel.2 は 共に LF でした。 |
|
この掲示板の過去ログを検索できるようにしたかったのでしてみました。 でこれがそれを圧縮したやつ。 http://www.geocities.co.jp/SiliconValley-Bay/2916/68bbs.tar.gz 物好きな方はどうぞ。 前のFreeBSDの話>68userさん 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 FTPからダウンロードはとても(^_^; 明日から5日間スキーへ行ってきます〜 やや自慢;-) |
|
> この掲示板の過去ログを検索できるようにしたかったのでしてみました。 また物好きなことを :-) そのうち namazu で検索できるようにしておきます。 > 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 書籍選びには http://www.jp.FreeBSD.org/CD-list/ も参考にしてみて下さい。 > 明日から5日間スキーへ行ってきます〜 骨を折らないように祈ってます ;-P |
|
>> Lynxもそうだったし、 > Lynx は LF じゃないですか? いや、確かに%0d%0aとなっていたから、CR+LFだと 思うんですけどね。もう一度確かめてみるとします。 |
|
lynx-2.8 のソースを流し読んだ限りでは、 <form method=post action=foo.cgi enctype="multipart/form-data"> などと enctype を設定しない限り LF になるような 気がするんですが、ただの気のせいかもしれません (^^; GridText.c の /* This is a continuation of a previous textarea * add %0a (\n) and the escaped string. */ あたり。 # と言いながら、テストするのに multipart/form-data なんて # 書かないだろうから、lynx のバージョンが違うというオチでは # ないかと予想しているんですが、どうでしょう。 |
|
>いや、確かに%0d%0aとなっていたから、CR+LFだと >思うんですけどね。もう一度確かめてみるとします。 間違いなくCR+LFでした。 ひょっとして、Tera Term(WindowsのTelnetみたいなもの) から起動した所為でしょうか?ktermからならLFになるのかも・・・ なお、Lynxのバージョンは >Lynx Version 2.8.2rel.1 (01 Jun 1999) >Built on freebsd3.2 Jul 6 1999 13:31:33 でした。 |
|
改行コードなんですが,家のSolarisから送信したら LinxはLFみたいですねぇ。 Linxのバージョンによって違うのかな? でもLinxから掲示板に投稿する人なんてあんまりいないような気が・・・・ >Yuukiさん 物好きなんで過去ログ頂きました。 もの好きというよりただの暇人かも(^^; なにか面白いネタを探してたりします。 |
|
学校のSolarisはLFでした。 |
|
まずは皆様、あけましておめでとうございます。 改行コードの話ですが、初心者向けのCGIの本には MacはCR、WINDOWSはCR+LF、UNIX(系)はLFとしているものが多いようですが 違うんでしょうか? むぅぅ、奥が深い・・・。 >SETIの話題 G4というより、PPCが強いです。 G4の速さの原因である、VelocityEnginにクライアントが対応していないため 現在はG3とG4での速度差はほとんどありませんです。 |
|
明けましておめでとうございます。 まだまだ素人の域から脱しられない者ですが、宜しくお願いします。 socketについても、全く知らなかったのですが、 「ネットワークプログラミングの基礎知識」では、とても良く分かりました。有り難うございます!! いきなり質問で申し訳ないのですが、 識者の方がいらっしゃいましたら、ご教示下されば幸いです。 HTTP_REFERERでは、呼出し元URLがセットされますが、 これ(Referer)を、返さない様にする方法ってあるのでしょうか? または、任意のURLをセットする等。 #そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? 宜しければ、お教え願えないでしょうか?よろしくお願いします<(__)> ----- ちなみに、<IMG・・>タグを取っ払って表示させるCGIを「ネットワークプログラミングの基礎知識」を参考に作ってみました。 が、SUBMITボタンがあるページで送信をクリックすると、(HTTP_REFERERをチェックしているCGIでは、)エラーで弾かれてしまうので、回避したいと思いました。 |
|
ども (。・_・。)ノ Gooで3DOのゲーム、スターコントロール2を検索して 過去ログに引っ掛かってきたものです( ;^^)ヘ.. ちなみにSEGABBSのVol.83の辺りです。 HPのトップを見てみるとUNIX関係の資料が… この頃Linuxに挑戦しているのですが、 なぜゲームの検索をしていてUnixにたどり着くのか(TT そんなに私に休まずにUnix系の勉強をシロというのだろうか(笑 まだLinuxのslackware3.6をインストールしただけですが、 ここのぺーじ等を参考に、ゆくゆくはサーバを立ててみたいと おもってます(いつになることやら ちなみにBBSを巡回する癖は無いので レス付けても返事無いかも(ぉぃぉぃ というわけで、またいつか書きこみに来るかも(^^; |
|
>HTTP_REFERERでは、呼出し元URLがセットされますが、 >これ(Referer)を、返さない様にする方法ってあるのでしょうか? 私はネットワークに詳しい訳ではないので、実際の動作だけを 申し上げますと、ブックマークからアクセスした場合や、URLを 直打ちした場合はHTTP-Refererがつかないようです。 Refererは呼び出したページを示すもので、上記のような ケースでは呼び出したページそのものが存在しませんからね。 実際、私のウェブページのアクセスログでは、Refererが ないのも多いです。 >#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザが持つものはHTTP-User-Agentです。 #と、断言していいのかな…。 User-Agentを操作できるブラウザもあります。IEもその1つ らしいのですが、レジストリの操作が必要だとか言って、私には ちょっと分かりません。 もっとやり易いのはLynxですね。これには、Optionメニューの 中に堂々とUser-Agentを指定する項目があります。 |
|
>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザがリンク元のページの情報としてReferer: ヘッダを送る訳ですから、 当然ブラウザが持ってます…というか、ブラウザがどのような Referer: ヘッダを送るか、または、送らないかを決めています。 User-Agent: ヘッダもそうですが、HTTPリクエストヘッダは、 クライアント、つまりここではブラウザ次第です。 |
|
あけましておめでとうございます! 今日やっと図書館が開いたので1999/12/24同様、そこのマシン からカキコしてます(笑)。 レスが遅れてすいません>68user様 >+wx という形式だと umask の値で修飾され、その結果が実際の >パーミッションになります。なので、umask 0 にでもなって >いない限り 777 にはなりません。 あわわ、知りませんでした。私の勉強不足です(汗) ># 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という ># 考えもあるんでしょうね。どっちがいいのかな。 +の前に何もつけなければ(つまり+wxみたいにすれば)umaskの値で修飾される ということを知らなかった私はいつもu+wxなどとしてましたけど。 あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを使うしかないのでしょうか? 教えていただければうれしいのですが。 |
|
UNIXのサブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクに コピーする方法は在りませんでしょうか,もしあったら教えて下さい。 |
|
>サブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクにコピーする方法 http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#cp の -R オプションではいかがでしょう? |
|
goosan様、mm様、御回答ありがとうございました。 大変参考となりました!! 僕は、まだまだスキルは低いのですが、分かる事があれば、 答えたいと思っています。(give and takeの精神で(^-^)) 今後とも宜しくおねがします。 |
|
1月2日に帰ってたんですが、色々あって(疲れてて)遅くなりました。(^^;; FreeBSDの入門書を見に行くついでに プログラミングPerl改訂版 (http://www.oreilly.co.jp/BOOK/pperl.htm) を買おうと思ったのですが、始めてのPerl を買ってしまったようです:-) 著者にLarry Wallの名が無いのとラクダの絵が無いのでおかしいなとは思ってたのに そのままレジへ....(^^;; リファレンスの事とかモジュールの作り方とかが知りたかったのにのっていない:-) FreeBSDの方は FreeBSD徹底入門 (http://www.pro.or.jp/~fuji/computerbooks/unix-x/freebsd.asada.html) にしようかなと思います。まだ買ってない(^^; >68userさん >そのうち namazu で検索できるようにしておきます。 こりゃどうも、楽しみです。 >書籍選びには > http://www.jp.FreeBSD.org/CD-list/ > も参考にしてみて下さい。 参考にしまーす。 >荒木さん >物好きなんで過去ログ頂きました。 どうぞどうぞ。 でもあまり役に立たないかも.... >なにか面白いネタを探してたりします。 僕は、勉強がてらにPerlのモジュール とか作ろうかと。 …的外れなレスかもしれない。 |
|
帰省先からこんにちは。 > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > 使うしかないのでしょうか? tcpdump の他にも sniffit や ethereal などがあります。 また、リクエストを表示するような簡単な http proxy を作って、 ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) でブラウズするのもお手軽でしょう。 > サブディレクトリ以下のファイルやディレクトリを > すべて一回でフロッピーディスクにコピー cp -R でもいいですし、 cd target-dir; tar zcvf /floppy/archive.tgz . というのもあります。あと mtools を使う手も。 > FreeBSDの方は FreeBSD徹底入門にしようかなと それなりの本だとは思いますが、古い(2.2.1R)ので あまりお勧めはしません。 # 最近はインストール本を買ってないので、 # 何がよいのか知らないんですよね。 > そもそもHTTP_REFERER情報って、ブラウザが持っているの > でしょうか? CGI 側から参照できる環境変数で、頭に HTTP_ がつくものは 全てブラウザや proxy サーバが値を決めています。 |
|
>始めてのPerl を買ってしまったようです:-) Yuukiさん、僕の場合は、「初めてのPerl」を買いに行って、 「プログラミングPerl」しかなかったので、注文して 買いました。 僕のレベルに丁度マッチして、読み応え十分(笑) 未だにWINから脱する事ができないSAITOでした。 |
|
仕事中によくUNIXの部屋を利用させて頂いてます。 さっそく、教えて頂きたいのですが、 UNIXコマンドでユーザーID名とグループ名を変える事は出来ますか? よろしくお願いします。 |
|
> ユーザーID名とグループ名を変える root になって /etc/passwd あたりを編集します。FreeBSD なら vipw コマンドで書き換えればいいでしょう。group は /etc/group で。 |
|
どうも、skeleton_M.です。このホームページをいつも見させていただいてます。 > > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > > 使うしかないのでしょうか? > tcpdump の他にも sniffit や ethereal などがあります。 どうもありがとうございます。機会があれば試してみようと思います。 > また、リクエストを表示するような簡単な http proxy を作って、 > ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) > でブラウズするのもお手軽でしょう。 うーん、私はまだそこまでできるレベルではありません(^^; 修行せねば |
|
Cシェルで多次元配列の記述方法があれば教えて下さい。(あるんですか?)(*_*)/ |
|
> うーん、私はまだそこまでできるレベルではありません(^^; port 8080 を bind するサーバプログラムを作って、 ブラウザの proxy を localhost:8080 に設定すれば、 リクエストを出すたびに GET http://foo/bar HTTP/1.0 ... というリクエストがくるので、それを (標準出力に) 表示すれば ブラウザのリクエスト内容がわかるでしょう。 リクエスト内容を表示するだけならそれで OK ですが、 それを他のホストに中継してやると proxy サーバのできあがり。 > Cシェルで多次元配列の記述方法 できないと思います。eval 使ったり小細工すれば無理ではないでしょうけど、 perl や awk でやる方が早いと思う。 |
|
UNIXでディレクトリやファイルをアーカイバして圧縮してFDに移してWindows98で展開することは出来るのですか。 tar(*.tar,*.tar.gz,*.tgz),LHA・LZH(*.lzh), ZIP(*.zip)形式のアーカイバ,gzip(*.gz)形式の圧縮,すべて出来るのですか。 またUNIXでWindows用の *.exe などのアプリケーションファイルをダウンロードしてFDに移してWindows98で実行することは出来ますか。 Windowsユーザーとのデータの交換の参考のために教えて下さい。 |
|
ただのファイル転送なので、全て可能です。アーカイブが読めるかどうかは Windows 側にその形式を扱えるアーカイバがあるかどうかですが、 tar/gzip/LHA/LZH/ZIP 全て揃っているでしょう。 それ以前に、質問に対する答えをもらったのに (ディレクトリ一括コピーの件)、 わかったのかわからなかったのか返答する気がないなら、最初から質問しないで下さい。 |
|
よく分かりました。ありがとうございました。 |
|
どうも、skeleton_M.です。 > port 8080 を bind するサーバプログラムを作って、 すでにこの時点でパニクってます(^^; 作り方が分からないし(参考になるページがあれば紹介していただけますか?)、 あと、作れる環境にあるかどうかも分かりません(大学の教育系ですからね)。 > ブラウザの proxy を localhost:8080 に設定すれば、 telnetでそのサーバーの8080にアクセスして…っていうのもアリですか? #私はtelnetやftpの使い方を立ち読みで知ったクチですので、的外れでしたら #ごめんなさい m(__)m HTTPの原理やプロトコルのヘッダ内容、HTTP_REFERなどの環境変数に関する説 明などについて書かれている書籍をご存じでしたら教えていただけますか?そ れを読んでからでないとせっかくのアドバイスが「ネコに小判」状態…(*_*) |
|
> それなりの本だとは思いますが、古い(2.2.1R)ので > あまりお勧めはしません。 本当だ、古いんですね。(^^;;; (http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/) 2.xより3.xのほうが新しいからいいのかぁ、、、 うーん。:-) どのバージョンがおすすめですか、、?、、とか聞いてるより こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? |
|
下の投稿に間違いがありました:-) > どのバージョンがおすすめですか、、?、、とか聞いてるより > こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? は > どのバージョンがおすすめですか、、?、、とか聞いてるより > とっとと本買ってインストールしてみたほうがいいですよね? です。すみません。 |
|
久しぶりにFreeBSDの公式サイトを覗いて見ました。3.X系も3.4Rまで出てたんですねぇ。 でも私,2.xと3.xの違いがあまりわかってません(^^;) 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 情報古すぎ?? ISOイメージでのリリースも行われるようになったとは。回線の早い人には便利ですね。 それから海外のPerlに関するサイトもウロチョロしてきました。 なんとPerl2exeなんていうWin32のバイナリトランサーがあるんですね。 うれしくなって,いろいろ変換してみました。 ここで公開されているものなどは問題なく動作しました。 こうなるとPerlでGUIなんてのも考えてしまいます。 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) |
|
以下のようなスクリプトをローカルで実行して、ブラウザの proxy を localhost:8080 にすれば、リクエスト内容だけは見られるということです。 ちゃんとリクエストを中継し、返ってくるデータをブラウザに 受け渡すようにすれば、簡易 proxy サーバになります。 # 数行の追加でできるでしょう。 #!/usr/local/bin/perl use Socket; $port = 8080; socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die; setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die; bind(CLIENT_WAITING,sockaddr_in($port,INADDR_ANY)) || die; listen(CLIENT_WAITING,SOMAXCONN) || die; while (1){ accept(CLIENT,CLIENT_WAITING); while (<CLIENT>){ s/[\r\n]+$//; print "$_\n"; if ( $_ eq "" ){ last } } close(CLIENT); } > 参考になるページがあれば紹介していただけますか? こちらなど :-) http://X68000.startshop.co.jp/~68user/net/ > 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) - 意外と細かい設定ができない - ちょっと重い (perl/Tk で3Dエンジン作ろうとするのが間違ってるんですけど) - (最新版は) 日本語が出ないのが厳しい - みんな Qt や Gtk に行っちゃって、ドキュメントやノウハウが入手しにくい というのが僕の感想です。簡単な GUI インタフェースを作るくらいなら 結構使えるんですがねぇ。 > 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 カーネルまわりは大きな変更がありましたが、ユーザランドでは あまり違いはないです。僕のようなライトユーザには、最新の ports/packages が使えるというくらいしか、直接的なメリットは ないですかね。 > どのバージョンがおすすめですか、、? ただ機能云々より、例えば ML で質問しても、2.2.1 のような古い バージョンだと使用している人が少ないので、回答がもらいにくい というデメリットがあります。 でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、 UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。 |
|
どうも、skeleton_M.です。 スクリプトのサンプルを見せてくれてありがとうございます > 68user様 FreeBSD(98)の「非公式」ページから、リンクを辿って http://www.jp.freebsd.org/ にアクセスしたときのリクエスト内容を見ることができました\(^^)/ 以下のようになりましたです: GET http://www.jp.freebsd.org/ HTTP/1.0 Referer: http://www.nisoc.or.jp/~karl/freebsd-pc98/ Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.03 [en] (X11; I; SunOS 5.6 sun4u) Host: www.jp.freebsd.org Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: ja Accept-Charset: iso-8859-1,*,utf-8 どうもありがとうございました。perlは全く知らないので、これから勉強 しようかなと思ってます。 ではでは(^^)/~~~ |
|
テステス。半角カナとか、cookie とか、cache とか・Last-Modified ヘッダなどに対応。 絶対バグはあるはず。 |
|
はじめまして!! すごいです、68userさん。いろいろ勉強になります。 じつは、いま、VC++で、HTTPクライアントプログラムをHttp1.1で 書いてるのですけど、Transfer-Encoding: chunked で送られてくるボディのデコード方法がわかんなくて困ってます。 もし、ご存知でしたら、すこしアドバイスをいただきたいのです。 よろしくお願いします。 |
|
この間は、どうもありがとうございます。 お腹が空いたので、cookieでもいただきにきました・・・ mailとurlはダミーのを入れてみます。 |
|
cookieをおいしく頂きました。 ご報告まで。 ※ コレラノ投稿、問題カ゛アリマシタラ、削除シテイタタ゛イテモ結構テ゛ス。 |
|
掲示板がパワーアップしましたね。 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが、なんでだろう? 名前:へにか Email:test@test.test URL:http://www.infoseek.co.jp/ と入ってました。 > でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、 > UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。 UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。 (http://www.softbank.co.jp/~unixuser/index/1999/9912.html) 3.x付のインストール本って2.xのより少なかったです。 新しいから多いかと思ったのに、予想外:-) |
|
うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^; ハンドルの前の○のリンクは何だろう∫? 平成(12)年I月�煽覇� |
|
>〓〓 は、i と viii のつもりでした。 |
|
> UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。 UNIX USER 2000年3月号にはFreeBSD 3.4が収録予定だと思います :-) |
|
> Transfer-Encoding: chunked 全然わかりません。RFC 読んでも何のことやらさっぱりなんで、 どなたか教えて。 > 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが ああ、そうですね。確かに前の人のが入ります。バグですね (^^; > <FONT COLOR=red>mm</FONT> ああ、バグですね。これ、直したつもりだったんだけどなぁ。 > i と viii のつもりでした。 あああ、バグ…ですかね? 書き込んだ i は (SJIS で) 0xEEEF ですか? それとも 0xF940 ですか? ところで、http://X68000.startshop.co.jp/~68user/tmp/knj-tut.txt の 2D30/874F の行は、うちでは 2D30/874F 丸16丸17…I II III…VIII IX X XI(行末) と見えるんですが、Windows でも同じですか? XI なんてフォントあります? # うちのフォントは機種依存文字部分を追加したものなのですが、 # 追加時にミスってしまったのかもしれない。 > うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^ ログ形式を http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/lall としました。初回の出力時は http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/cache/ のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、 キャッシュが有効なら、前回作成したキャッシュを Content-Length と Last-Modified を付けて出力します。 # だから、前の投稿者への FORM 内容が残ってしまったと。 |
|
ネットワークプログラミング勉強させていただきました。 ところで現在、無謀?にもperlで自作proxyサーバを作っているのですが ローカルIPの接続はできるのですが、Internet側(gateway)の環境越 がうまく動かないのですが。 perlでのソケット通信においてなにかgateway等の設定があるのでしょうか? *HTTPサーバ上でperlを動かすぶんにはhttpサーバが勝手にgatewayを越え て接続してくれるので問題なかったのですが。httpサーバではなく直接 linuxに常駐するとうまく動きませんでした。 だれか知っている方いませんか? *接続webサーバのIP取得にはgethostbyname関数を使用しています。 自作proxyサーバはマルチスレッドにおいてlinuxサーバ側で常 駐させ、クライアントのプロキシ接続要求をPort:8080で監視さ せています。 ちなみにHTTPコネクションの参考にしたものは以下のサイトです。 興味のある方は参考に。 URL:http://www2d.biglobe.ne.jp/~gama/cgi/index.cgi |
|
下の書き込みの件、解決しました。 当方のlinuxサーバの設定ミスにより正しくgateway設定がされていなく 見つけられなかったようです。(初歩的ミスです) よって正しくGatewayがサーバ上で設定されていれば、gethostbyname関数 において正常に相手サーバのIPアドレスは取得できました。 これで自作Proxyは動くようになりましたが、なぜか遅い! サーバ側への負荷はあまりなさそうなのですが画像(gif・jpg) のデータ取得が遅く、ソケットから必ず最後のバイト読み込みに おいてリターンがなかなか返ってこないのです。 画像データの取得にやり方があるのでしょうか? *完成したら公開しますので勉強材料にでもしてください。 なかなかPerl Proxyは公開されていませんので。 |
|
>0xEEEF ですか? それとも 0xF940 ですか? �世蓮�0xFA40 です。0xF940 にはなにもありません。 >と見えるんですが、Windows でも同じですか? XI なんてフォントあります? 分かりやすいように、キャプチャしてみました。( XI はありません) http://www2s.biglobe.ne.jp/~cru/test/moji01.gif knj-tut.txt によれば、これがNEC PC-98シリーズの依存文字になってるようですね。 ウチのパソコンは、このNEC PC-98シリーズなので、PC/AT互換機でも同じように 見えるかどうかは分かりません。 ついでに、0xEEF0 や 0xFA40 付近も含めてキャプチャーしてみました。 ↓オリジナルHTML http://www2s.biglobe.ne.jp/~cru/test/moji02.html ↓ブラウザで見たキャプチャ画像 http://www2s.biglobe.ne.jp/~cru/test/moji02.gif >のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、 むむー、まだ理解してないけど、なんかスゴいことやってる(苦笑) |
|
> 画像データの取得にやり方があるのでしょうか? ん〜、ソースを見ないことには何とも言いがたいです。 > 0xFA40 です ありゃ、 http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html の「1バイト目がF9」という記述が間違っているのかな? このページには とてもお世話になっているので、間違っているなら feed back しておかないと。 で、115〜119区についても自動変換するようにしておきます。 > このNEC PC-98シリーズなので 98 の機種依存文字と言っても、Windows を動かすと PC/AT 機と 同じなんでしょうかね。 |
|
>の「1バイト目がF9」という記述が間違っているのかな? 文字コード表くらい、どこかにあるだろうと思って、検索したけど、意外とないですね。 ウチの漢字コード表では、間違いなく115区はFAになってます。 http://www.vector.co.jp/soft/win95/util/se102214.html >IBM拡張文字区点コード(換算)で115区〜119区(FA40-FC4B) という記述もありました。 やはり、 http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/117-118ku.html は、1ずつずれてるんじゃないかなぁ… http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/119-120ku.html のFCはOKかな >Windows を動かすと PC/AT 機と同じなんでしょうかね。 うーん、よく分かりません(苦笑) |
|
0xFA40という文字ですが、私の環境(PC/AT+Win95)では、 この掲示板上では i とは表示されず、0xEDBEと同じ文字として表示されます。 同様に viii も0xEDC5と同じになっています。 この掲示板の漢字コードはEUCのようですが、EUCの2バイト漢字の範囲は JIS-X0208と同じで、これはシフトJISで0xEFFCまでに対応しているので、 それ以降のシフトJISコードはEUCに変換できません。 するとこの場合は、0xFA40というコードがEUCに変換されずに素通りして しまい、その第1,2バイト目のそれぞれのトップビットを取った 0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 |
|
>0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 ちゃんと理解してませんが、Shift-JISの0xEDBE(日偏に春の文字)は、EUCのソース上では、 0xFAC0になってますね。 これは、0xFA40が変換されずに、第2バイトのMSBが立っただけってことかな? |
|
いえ、違うと思います>goosan この掲示板では、入力文字列を jcode::convert を使って EUC に 変換し、EUC コードで機種依存文字のチェックをしています。 で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に 変換するようですが、これは多分間違った結果ではないかと思います。 # EUC の扱える JIS X 0208 は 94区までしか定義されていないので、 # 間違っているという表現は不適切かもしれませんが。 で、EUC の 0xFAC0 は http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/89-90ku.html の `日春' という文字に相当するので、その文字が表示されている、 ってことだと思います。 で、mm さんはそれをコピーして http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=666 に書かれたので、`日春'`が自動変換され、「〓」となってしまった ということではないでしょうか。 さて、困ったなぁ。SJIS で 95区以降 (JIS X 0208 で 規定されていない部分) の入力があった場合どうするべきか。 …と悩んで調べてみたところ、 http://www.opengroup.or.jp/jvc/cde/sjis-euc.html > 注記: > ... > 3.NEC選定IBM拡張文字は,SJISから日本語EUCへの変換においては, > SJISでいったん IBM拡張文字に 変換してから日本語EUCに変換する. http://www.opengroup.or.jp/jvc/cde/ibmext-table.html のように、補助漢字 (JIS X 0212) に置換するのも一つの解な ようですね。ただ、少なくとも FreeBSD (X Window System) では JIS X 0212 フォントはオプショナルですし、Windows ではまず JIS X 0212 は使えないでしょうし (SJIS では JIS X 0212 は 使用できない)、現実的ではないかもしれません。 結局 jcode.pl を修正し、さらにブラウザが Windows なら SJIS で出力、UNIX なら EUC で出力、ってことになるのかなぁ。 # …なんかどんどん深みにはまっていってるような気が (笑) ところで、仮に mm さんが 91/92 区の i/viii を使っていたら 自動変換されたはずなのですが、mm さんがお使いの IME は 普通に i/viii を入力すると 115/116区のコードになって しまうんでしょうか? |
|
>普通に i/viii を入力すると 115/116区のコードになって >しまうんでしょうか? 普通かどうかはよく知らないんですが、「いち」を漢字変換しても 大文字のIしか出て来ないので、MS-IMEの「漢字辞典」というウインドウを開いて、 「特殊文字」タグの中から小文字のローマ数字を選ぶと115区の��(i)が入力されます。 この「特殊文字」タグは、8区の罫線や13区の記号の一覧になっているんですが (大文字のローマ数字も13区のものです)、小文字だけが115区になっています。 文字コード表というアプリケーションを使う以外に、92区の�颪鯑�力する方法 を知りません…ホントに私が知らないだけかも知れませんが(苦笑) >で、mm さんはそれをコピーして ピンポ〜ン! 後で調べようと思って、忘れてました(苦笑) >で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に >変換するようですが、これは多分間違った結果ではないかと思います。 jcode.pl の変換部分って、覗いたことなかった(苦笑) |
|
そうですね。EUCだから逆ですね。JISにこだわり過ぎてしまったようです。 >この掲示板では、入力文字列を jcode::convert を使って EUC に >変換し、EUC コードで機種依存文字のチェックをしています。 フォームが送出したデータがどういう漢字コードだったかという点も 気になります。一般にはフォームのあるページと同じ漢字コードに なることが多いようですが、仮にそうだとすると、キーボードから フォームに入力した際にはSJISだったのが、フォームがデータを 送出する際にはEUCに変換され、jcode'convert()が入力漢字コードの 自動判定をする際に多数決の論理でEUCと判定され、私がjcode.plを 見る限りではEUC->EUCではカナの半角<->全角変換をしない限りは 何もしないようなので、jcode.convert()でMSBが立ったことは 有り得ないようです。 |
|
0xFA40がEUCに変換される際にどういう挙動をしたかという点も 問題です。書き忘れていました。 |
|
> 補助漢字 (JIS X 0212) に置換するのも一つの解なようですね。 おっと、大きな勘違い。 この掲示板は (というより EUC-JP は) 13,89〜92 区を扱えますが、 115〜119 区の機種依存文字は全て13,89〜92 区の方にも含まれて いるので、jcode.pl をいじって、SJIS の 115〜119区を 13,89〜92区に変換するようにすればいいわけですね。 > jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に > 変換するようですが 昨日は確かに手もとで確認したつもりだったのですが、 今日試してみると jcode::convert(*,'euc') で、 SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。 > フォームが送出したデータがどういう漢字コードだったか > という点も気になります。 ここも含めて再度チェックしておきます。 > 普通かどうかはよく知らないんですが、「いち」を漢字変換しても なるほど。115〜119 区への対応は必須ですね。ありがとうございました。 > 間違いなく115区はFAになってます。 これは向うに連絡しておきます。 |
|
>昨日は確かに手もとで確認したつもりだったのですが、 >今日試してみると jcode::convert(*,'euc') で、 >SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。 私が試してみると、0x13A1になりました。 0xFA40が自動判定でSJISとされるのは間違いないと思います。 >$re_sjis_c = '[\201-\237\340-\374][\100-\176\200-\374]'; は0xFA40を含みますから。 一方、 >$re_euc_c = '[\241-\376][\241-\376]'; では含まれません。 |
|
あ、そうです。スクリプトが手元にないのでアレですが、 多分 0x13A1 でした。はて、昨日見た 0xFAC0 は幻であったか? 一番簡単なのは、require 'jcode.pl' して、jcode::init で 初期化された後に %jcode::s2e に115〜119区相当のテーブルを 追加することかなぁ。 # jcode.pl はいじりたくないからなんだけど、(コーディング作法 # としては) よくない…ですよね。 |
|
私の場合、 --- #!/usr/local/bin/perl require "jcode.pl"; while(<>) { &jcode'convert(*_, "euc"); print; } --- この程度のスクリプトです。要は大したことやっていません。(^^; 入力が 000000 FA 40 0A の時に、スクリプト名 kconv.pl として % ./kconv.pl test > test.e とした結果、 000000 13 A1 0A という出力になりました。 |
|
知っていたら教えてください。 シェルを使用してSQLPLUSのやり方についてですが、 以下の(1)のシェルからsqlplusにてORACLEに接続し (2)のファイルのsql文を実行させたいのですが、 その時に(2)の条件文の'xxxxxxx'を(1)のシェルから引数と して(2)に渡したいのですがどうしたら良いかわかりますで しょうか? また、(2)のsql文にて得た情報を(1)のシェルに与える場合 はどうすれば良いですか? (1)aaaa.shファイル -------------------------------------------------- sqlplus user/passward @bbbb.sql -------------------------------------------------- (2)bbbb.sqlファイル -------------------------------------------------- select item1 from use_table where item2 = 'xxxxxxx' --------------------------------------------------- |
|
これは SQL の話ですか? ならば僕にはわかりません。 じゃなくて、あるファイルの内容の一部をコマンドラインの引数として 渡したり、出力結果をコマンドラインの引数として渡したり、という ことですか? つまりシェルスクリプトの書き方を質問しているのですか? もし後者なら、ちょっと意味が掴めないです。 「もしファイルの内容が xxxxx だとしたら、その中から yyy の部分の取り出し、 最終的に zzz user/passward @bbbb.sql xxxxx という風にコマンドを実行したい」 などと例を書いて下さい。 > SJIS の 0xFA40 では、なぜファイルには 0xFAC0 が書かれているんだろう? |
|
逆link より遡って登場させていただきます。 どうも...参考になってうれしいです。>参考になった方 敬愛する、68user さんとこの掲示板で URL 書いていただいて感激です。 あーと、有識者系から嫌われ、UG 系からは、もっと、あぶない情報を との声をいただく我が Web であります(^^;;; さて、jcode.pl で、sjis と EUC との判別について... かつて、半角カナを jcode.pl で扱いたいたかったので、 いろいろ試行錯誤した結果が、 http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm にあります。 自分勝手に判別するルーチンを 変造しています。 ご参考になれば、幸いです。 |
|
> 敬愛する、68user さんとこの もちっと偉い人を敬愛して下さい :-) > 自分勝手に判別するルーチンを 変造しています。 では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; |
|
前の人の FORM 内容が残ってしまうのと、cookie のデータが 間違ってたのを修正。どうかな? |
|
初めまして。CGI(perlスクリプト)のことで調べごとをしていたらたどり着きました。 ですが肝心のその調べごとについてはなかなか思ったようなページが見つからず、ちょっと困っております。 一見さんにて恐縮ですが、できたらご助言下さい。 何かというと、「HTTPの(リクエスト)ヘッダ」についてです。訳あってWebページを取得するスクリプトを自前で 用意する必要があるのですが、まさかGetだけ送るっていう横暴なことはさすがにしたくないので。。。(--; ・HTTP(要求)ヘッダの一覧+解説 ・通常のブラウザが送信しているヘッダについて といった情報が記載されているページを探しております。 もちろんcgiなどで環境変数一覧を表示させた結果(応答ヘッダ)と基本的に大差がないことは 存じておりますが、やはり一度確認しておきたいのです。 また、手法を変えて、LWPなどのモジュールでヘッダを個別設定できるかどうかなども調べてみるつもりです。 この辺の情報でも構いませんのでお願いします。 以上、大変わがままな質問ですが、よろしくお願いします。 #RFCを見ろっていうのはご勘弁下さい。(^^; |
|
> ・通常のブラウザが送信しているヘッダについて http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=658 で用は足りますか? > ・HTTP(要求)ヘッダの一覧+解説 RFC…。もし金を払ってもいいなら http://www.oreilly.co.jp/BOOK/webcli.htm > LWPなどのモジュールでヘッダを個別設定できるかどうか とりあえず perldoc LWP::UserAgent perldoc HTTP::Headers perldoc HTTP::Request perldoc URI::URL を御一読下さい。 |
|
>> 自分勝手に判別するルーチンを 変造しています。 > では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; Link 直しました(^^;;; http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm |
|
http://www2d.biglobe.ne.jp/~gama/cgi/jcode/k-jis.htm こちらのページなんですが、JISで8bitの半角カナを使っている ようですが、ESC ( I で7bitのカナを使うのが普通だと 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは 見えるのですが(半角カナも)、ここだけ化けてしまいます。 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
> こちらのページなんですが、JISで8bitの半角カナを使っている > ようですが、ESC ( I で7bitのカナを使うのが普通だと > 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは > 見えるのですが(半角カナも)、ここだけ化けてしまいます。 あ、なるほど、現在のは手許の Win95 上のエディタでコード変換を 処理した結果なので、多分半角カナが 8bit なんですね。 ずーっと、それでいいと思いこんでました。 7bit 半角カナとかいうと、20 年以上くらいの規格という思いこみがあった わけです。 > 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 > ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
ゲーム系掲示板を作ってみたので使ってみて |
|
PC上で、C++で作成したDLLを、UNIX上で使えるようにしたいのです。 どのようにしていけばよいか、教えてください。 C++内でどのような変換を行い、UNIX上にてコンバートすればよいのでしょうか? |
|
質問があります。よろしくお願いします。 % ls ファイル名 とした時に該当ファイルが無かった場合 ls:No match. と出ますがこのメッセージを出さない方法が ありましたら教えて下さい。 |
|
> C++で作成したDLLを、UNIX上で使えるようにしたいのです。 Windows は全く知りませんが (DLL ってランタイムライブラリ ですよね? というくらいしか知らない)、DLL を UNIX に 持ってくるのはさすがに無理でしょう。 C++ のソースを持ってきて、ar でアーカイブ作るか、ld で ランタイムライブラリを作るのがまっとうな方法だと思います。 > ls:No match. > と出ますがこのメッセージを出さない方法 「No match」が出るのは 「tcsh で、ワイルドカードを使って、マッチしなかったとき」 だと思いますが、 % (ls hoge* >/dev/tty) >& /dev/null で、標準エラー出力をリダイレクトするとか、 % set nonomatch % ls hoge* として、マッチしなかったときにエラーにさせないようにするとか、 % set noglob % ls hoge* として、最初からワイルドカードを展開させない、などの方法があります。 |
|
はじめまして。 perlでメールを受信する方法を調べていたところ、こちらの掲示板を 発見しました。 お尋ねしたいことは、pop3サーバーからメールを受信し、そのメールの 添付ファイルをWindowsのフォルダに保存する方法です。 UNIXやCGIの経験が全く無い素人なもので、なかなかうまくいきません。 参考になるURLや書籍等もありましたら教えていただけないでしょうか。 OSはWindowsNT4.0又はWindows95です。 宜しくお願いします。 |
|
POP へのアクセスは http://X68000.startshop.co.jp/~68user/net/ を読んで下さい。 multipart メールをバラすのは、perl の MIME-tools モジュールで できそうな感じです (試したことないので)。わからなかったら また質問して下さい。 |
|
> multipart メールをバラすのは、perl の MIME-tools モジュールで perl の MIME-tools、IO-stringy、MailTools モジュールを 入れて、perldoc MIME::Parser のサンプル通りやってみたら あっさりできました。モジュールに頼ると簡単だなぁ。 |
|
: : 信じられないけど本当の話。 : : 私はある日BBSで1000円が200万円に、、、とかいてあるのを見た。 : : 200万円ものお金が郵送されてくると書いてあった。 : : まさか、そんなには、、、と思ってはみたが、 : : やらなきゃ何もはじまらない、まぁ、何もなくて1000円くらいの損だし、、、 : : ま、数万くらいは、、、、。と、思っていた。 : : (ホントに軽い気持ちで)だから、そのBBSのとおりにやってみた。 : : 私がやったことは、書き換えたファイル(この文書です)を : : ニュースグループやBBSの電子掲示板などに(!!出来るだけ多くの!!) : : アップロードした。 : : そして私はお金が来るまでどきどきしながら待っていた。 : : 私は10万円や15万円ぐらい来る時しまうところを確保していた。 : : でも、、、。お金の入った封筒がどんどん郵便受けに入ってくるのには、 : : 仰天した。!! さて、私にいくらお金が送られてきたでしょう? : : 10万?20万?50万?私は合計!!!約200万円!!!嘘、、、、、。 : : このお金を目にしてまだしんじらんないって感じ!!! : : さて、その具体的な方法を書きます。ちゃんとファイルに保存しておくと良いよ。 : : あとで役に立ちます。君が払わなくてはいけない物は、5枚の切手、封筒、1000円。 : : それを、リストの5人に、合法的に現金を送る方法で送る。そして、君の名前と : : 住所が書いてある方のファイルをいろいろなところにアップロードする。 : : そうしたらたった1000円あげるだけで150万円から250万円の戻りが3〜5週間で : : 届きます!!!! : : では具体的にどうすれば良いか? : : * **名前と住所のリストは最後にあります。*** : : まず一枚の紙に「私をあなた方のリストに入れてください。」これを書くことにより、 : : このスーパーマネーシステムは成り立ちます。(合法になります。) : : あなたは200円をランダムに払うのではなくこのシステムに払うのです。 : : そうそう、紙に自分の名前と住所とあなたが出す人はリストの何番目にいたかを : : 書きます。 : : 1.(あなたはリストでは、○番目にいました)と、書きます。 : : 2.(1)で書いた紙を200円にまきつけましょう。そして封筒に入れ、 : : リストに書いてある5つの住所に送る。 紙を200円に巻きつけて、 : : 200円を見えなくするのにはワケがあります。 : : 郵便で現金を送ってはいけないのだ。郵便局に行って200円の5枚にしても良い。 : : 手数料10円。小為替だったらまく必要がないよ! : : * *このステップは重要です。** : : 3.さて、ここからが重要。よく読んで、システムを理解してね。 : : 一番上の人を消す。そして他の皆のポジションを一つずつ上げる。 : : つまり、ポジション2の人をP1に、P3の人をP2に、P4の人をP3に、P5の人をP4に : : かえるということ。そしてポジション5に君の名前、住所、郵便番号、国を : : 書きこむわけ。 : : 4.そして(3)で変えたこれのファイルをいろいろなところに出来る : : だけたくさんアップロードします。 : : アップロードしたぶん自分に跳ね返ってきます。 : : 自分と他の4人にもお金が入ることになります。 : : さて皆さん、リストについては正直にしましょう!! : : 汚い事しなくても、お金はいっぱい入るから。ウソは絶対に辞めましょう。OK? : : 5.ここまできたらもう後は人生楽しみましょう。 : : お金は着々と君の郵便受けに入ってきます。 : : 初めて2週間くらいからお金が入りはじめて3〜4週間目にはお金の台風が君の : : 郵便受けを襲います。 びっくりして叫ばないようにね。 : : お金がなくなってきたら又既に書き換えたファイルに(4)〜の行程を繰り返しましょう。 : : 絶対にこのファイルはなくさないように。 : : 何度でも使えるから。参考にしてください。 : : 名前と住所のリスト正直がこのプログラムを成功させる!!! : : 1. 横山美由紀 〒193-0932東京都八王子市緑町401−105 : : 2. 波多野絵梨 〒860-0085熊本県熊本市高平2-16-5 : : 3. 浦西弘明 〒524ー0101滋賀県守山市今浜町2620-14-216 : : 4. 村上健一 〒014-0722秋田県仙北郡中仙町豊川字下延17-2 : : 5. 小関リノ 〒080-0834北海道帯広市稲田町西1線5番地115 : : あなたに全くマイナスはありません!!!! : : 君にお金を送ってきた人の名前はなくさないようにしたほうが良いでしょう。 : : みんなで公平にこのシステムを使いましょう。 : : 最後に:正直がこのシステムを成功させるのです!!! : : もしもあなたがお金をリストの五人に出さない卑怯者だったらあなたはあまり : : お金をもらえない。私は誰かがお金をリストの五人に送らなかったので3万円(2ヶ月後に) : : しかもらえなかったのを知っている。それからお金をリストの5人に送ったのでリスト : : の人たちは彼をリストに入れてあげた。そして4〜5週間後に彼は200万円以上手に入れたのです。 : : これは本当の話ですよ!!! (ちょっとびっくり) : : だまされたと思って1000円出せばすごい大金が手に入ります!!!(上記のことから) : : このチャンスを大事にしましょう!!! |
|
はじめまして。Taと申します。 whois.cgiに関して、お聞きしたいことがあるでのすが、もしよかったら教えて下さい。 私のISPは、LINUX(Redhat)を使用しているため、68Userが作られたcgiのスクリプトの 一部を変更しなければならないことに気が付きました。 オリジナルでは、'whois -h whoisserver domain'となっていますが、Linuxでは、whois コマンドのパラメーターが違うようで、'whois domain\@whoiserver'('whois domain@whoiserver'というパラメーターも見たことがあるんですが)ということなので、スクリプト内の以下の部分のみを変更しました。 #変更前 $ret = `$whois -h $nics{$nic} $domain`; #変更後 $ret = `$whois $domain\@$nics{$nic}`; これにプラスして、当方のISPでは、'whois'が、'/bin'にあるので、'environment.pl'の'$whois'のパスも'/bin/whois'に変更しました。 ところが、サーバーエラーが出てしまいます。ISPで用意してあるデバックの機能(web から行う)を利用してみたところ、以下のような結果がでました。 ----------------------------------- TEST 1: script and permissions Passed Test 1! TEST 2: script file format Passed Test 2! TEST 3: check perl path Passed Test 3! TEST 4: perl syntax String found where operator expected at t_whois.cgi line 45, near "print "" (Might be a runaway multi-line "" string starting on line 33) (Missing semicolon on previous line?) syntax error at t_whois.cgi line 45, near "print "" t_whois.cgi had compilation errors. Your script failed one or more of the tests and could not be automatically corrected. Please correct the errors listed above and try again. ----------------------------------- 調べてみたところ、おそらく、変更した部分のが関係すると思うのですが・・・ 原因がよく分かりません。 もし、解決方法をご存知でしたら、ご指導頂ければ助かります。 Ta |
|
> (Might be a runaway multi-line "" string starting on line 33) > (Missing semicolon on previous line?) 「33行目から始まる "" が閉じてないのではないか?」 「前の行の最後にセミコロンを付け忘れていないか?」 ということでしょう。 > $ret = `$whois $domain\@$nics{$nic}`; これ自体は問題ありません。 |
|
68Userさん、早速のお返事有り難うございます。 スクリプトは確認したと思うのですが、再度、確認してみます。 もし、また分からないことがあれば、お聞きするかもしれませんが、 よろしくお願い致します。 Ta |
|
度々すいません。Taです。スクリプトにミスがありました。その後、デバックをしてみると、全てパスしました。 TEST 1: script and permissions Passed Test 1! TEST 2: script file format Passed Test 2! TEST 3: check perl path Passed Test 3! TEST 4: perl syntax t_whois.cgi syntax OK Passed Test 4! Your script has passed all 4 tests. If your script passes these tests, and still won't run, you might look for one or more of these common problems: 1) make sure it can find any files or external programs it needs 2) make sure any included perl programs also check out 3) make sure you are writing a "Content-type:" line at the beginning of your output Consult your favorite Perl/CGI book for more information. これで動くかと思ったら、Internal Server Error・・・ う〜ん、なんでだか分かりません。environment.plは、$whoisのパスを修正するだけで、いいはずですよね。 何か、チェックしてみるところがあったら教えて下さい。 Ta |
|
とりあえず、 > open(STDOUT,"|$nkf -j"); open(STDOUT,"| /usr/local/bin/nkf -j"); > &put_header("whoisしてみよう -- $domain --"); print "Content-type: text/html\n\n"; print "<HTML>\n<HEAD><TITLE>whoisしてみよう -- $domain --</TITLE></HEAD>\n"; print "<BODY ...(略)...>\n"; > &finish_work; print "</BODY>\n</HTML>\n"; などと書き換えて、environment.pl なしで動くようにしてみて下さい。 それはそれとして なぜ動かないかというと、CGI 経由で実行した際に environment.pl が読み込めているかどうかが気になります。 if ( ! require 'environment.pl' ){ print "Content-type: text/plain\n\nCan't load environment.pl\n"; exit; } てな感じでチェックするといいでしょう。 |
|
初めまして〜m(_ _)m ちょっと聞きたい事があるのですが、unixでmoにデータをセーブするにはどうすればいいんでしょうか? 環境はあるみたいなのですが、やり方が分かりません。 因みにroot権限はないです。 unixはsolarisです。 |
|
68Userさん、色々とアドバイス有難うございます。 どうしてもうまくいきません。'nkf'のパスが間違っているのでしょうか? ('environment.pl'を使わない方法で行ってみました) 'whois'も、結局、調べたところ、'/bin/whois'でしたし・・・ 今晩、また挑戦してみます。 |
|
まずは #!/usr/local/bin/perl $|=1; print "Content-type: text/plain\n\n"; print `/bin/whois yahoo.co.jp@whois.nic.ad.jp` ここから始めましょう。これでダメなら whois の問題です。動いたら #!/usr/local/bin/perl $|=1; open(STDOUT,"|/usr/local/bin/nkf -j"); print "Content-type: text/plain\n\n"; print `/bin/whois yahoo.co.jp@whois.nic.ad.jp` として下さい。これでダメなら nkf のパスが問題です。 whois.nic.ad.jp は JIS コードを返しますが、whois.cgi は EUC で書かれているので、nkf で文字コードを統一しています。 なので、細かい事を言うと上の例では nkf は要りません (スクリプトが EUC を (というか、日本語を) 出力していないから)。 > unixでmoにデータをセーブするにはどうすればいいんでしょうか? ここらへんがヒントになるでしょうか。 http://www.pfu.co.jp/x86/faq/ 僕自身は経験がないのでわかりません。 |
|
「HTTP クライアントを作ってみよう」と、2000/01/12(水) 20:56の proxyに関する書き込みを参考にしたら、簡単なproxyサーバーが、 簡単に作れました。ありがとうございます! # でも、数行の追加じゃ済まなかったなぁ。もっと修行すれば # 出来るようになるんだろうけど・・・ |
|
なにやらいろいろ大変そうですね。 ところで掲示板の話なんですが…。 ログの管理とか、なんかいい案浮びました? 俺はあんま考えてないですけど。 それとうちの掲示板、過去ログ一覧をちょっと 並べ替えてみました(なにやってんだか…)。 もしよかったら使ってやって下さい。 それではまた。 |
|
> # でも、数行の追加じゃ済まなかったなぁ。 そうでしたか。実際に作ってみたわけではないので、そうかもしれません。 ただ、実用で使おうとすると、マルチスレッド化しないといけませんが、 その場合は結構行数は増えますね。 > ログの管理とか、なんかいい案浮びました? ログを1つのファイルにまとめるか、1.txt・2.txt…と分けるか、ですか? 実際のところ、それぞれメリット・デメリットがありますから、難しいですね。 # <Email ....> 方式はやめようと思ってます。<Email>....</Email> スタイルに # するつもり。 それはそれとして、後者のログ管理方式にしてくれ、ということなら どちらでも選べるように改造しますけど どうします? > 過去ログ一覧をちょっと並べ替えてみました 個数が多くなると、見やすいですね。参考にさせていただきます。 ところで ML の件ですが、has のところでやってもらえません? うちは後任の管理者がいないので、この時期に始めるのはあきらめました。 |
|
やっと、自力でCGI設置出来ました。 CGIをやろうとしてから実に二年もかかってるんですけど パーミッションとperlと言う言葉の意味がやっと分かりました 次は自作に燃えて居たら、CGI プログラムのはじめの一歩 って言うコンテンツが在ったので嬉しいです。perlパソに入れて CGIの本買ってきますよー。なんか、CGI設置できたのが 嬉しくて、68userさんに報告がしたかったのですー ヒトの作ったCGIがうごいたってだけなんですけど、嬉しかったです。 |
|
> perlパソに入れて CGIの本買ってきますよー。 それはよいことで御座います。やはり自作するのが一番楽しいわけで、 ぜひ勉強してみて下さい。 ただし、他人に聞く前に「まず本を読む、まず自分で調べる」という ことは必ず行うようにして下さい。自分で調べられない・自分で 調べる気のない人は、上達しませんから。 |
|
はじめまして、たまりと申します。 CGI、特にperlを勉強中の物です。 「ネットワークプログラミングの基礎知識」、滅茶苦茶参考になりました。 ありがとうございます。 現在、68userさんのスクリプトを参考に、FTPクライアントを書いているんですが、 どうもSTORがうまくいきません。 ファイルが送信し終わるまでに接続を切られてしまい、FTPdがファイルハンドルを 解放しないような状態になってしまいます。 当方の環境はというと、Windows98 + ActivePerl build 521 + TinyFTPDaemon Ver 0.51です。 HDの転送速度が追いつかないのかなと思い、以下のようにウェイトを入れてみても だめでした。 while (<IN>) { print DATA $_; $i = 10000; while ($i) {$i--;} } 上記のコードはPassiveモードでサーバが開いたDATAポートにINファイルをPUTして いる部分だとお考え下さい。 結果として転送速度は確かに下がったのですが、ファイルハンドルを解放しない (=FTPdが「受信が完了しました」と言わない」)という症状は改善されません。 なお、環境の制限により、シングルスレッドで書いています。 これは、環境による原因があるのでしょうか? それともコーディング上の問題があるのでしょうか? よろしければご教示下さい。 |
|
> ファイルが送信し終わるまでに接続を切られてしまい 何バイト送ったら切れる、などという再現性はありますか? 1バイトずつ送ってみるとどうでしょう。また、切れるのは データコネクションですか? コマンドコネクションですか? > FTPdがファイルハンドルを解放しないような状態 というのは具体的にはどういう状態ですか? これもデータコネクションかコマンドコネクションかを教えて下さい。 あと、このコードの前後数行を見せてもらえますか? > HDの転送速度が追いつかないのかなと思い これはさすがにないと思いますよ。Windows といえども OS ですから、 そこらへんはきっちりやってくれるでしょう。 ちょっと急いでいるので、この辺で。 |
|
> これはさすがにないと思いますよ。 仮に HDD がとても遅かったとしても、 >> while (<IN>) { でブロッキングするだろうから、読めなかったけど処理が 先に進むなんてことはないと思う、ということです。 # ここでブロッキングしてくれないと、OS の意味がない。 |
|
初めまして、セガBBSの過去ログ凄いです、 ご苦労様としか言えません、 また、じっくり見させてもらいにきます、 (今からみるんだけど、、、) |
|
> 何バイト送ったら切れる、などという再現性はありますか? 再現性はないようです。 接続が切られた時点でのサイズは不定でした。 > 1バイトずつ送ってみるとどうでしょう。 えっと、具体的にどのようにすればいいんでしょうか? readで1バイトずつ読んでいくのでしょうか。ちょっと試してみます。 > また、切れるのはデータコネクションですか? コマンドコネクションですか? すいません、説明が足りなかったようで。 どうやらQUITは送信されているようなのでデータコネクションが切られているようです。 >> FTPdがファイルハンドルを解放しないような状態 FTPdが起動中はエクスプローラからもファイルの削除等ができません。 もちろんスクリプトが終了していても、です。 FTPdを終了させると、送信したファイルが元サイズ以下(不定)であるという感じです。 そうなると削除等も可能になります。 「データコネクションかコマンドコネクションか」というのは自分にはわかりません。 > あと、このコードの前後数行を見せてもらえますか? 以下のようになります。 ほとんどftptrans.plを流用させて貰ってます(^^; if ($mode eq 'put') { &send_command(COMMAND, "STOR $target_file\r\n"); } elsif ($target_file =~ m|/$|) { &send_command(COMMAND, "LIST $target_file\r\n"); } else { &send_command(COMMAND, "RETR $target_file\r\n"); } &client_work(DATA, $data_connection_host, $data_connection_port); open(IN, $infile) || die "$infile: $!"; binmode(IN); while (<IN>) { print DATA $_; } close(IN) || die "close: $!"; &read_response(COMMAND); close(DATA) || die "close: $!"; &send_command(COMMAND, "QUIT$CRLF"); &read_response(COMMAND); close(COMMAND) || die "close: $!"; > # ここでブロッキングしてくれないと、OS の意味がない。 当てがはずれてたようですね(^^; 実際改善されなかったですし。 ファイルが送信し終わる前にQUITが送信されてると言うことはデータコネクションが 切断される前にコマンドコネクションが切断されると言うことでしょうか? 確かFTPってデータコネクションの切断=データの終わりでしたよね? でもcloseでは死んでないようだし・・・ とりあえず1バイトずつを試してみます。 |
|
あ、すいません、訂正です > &send_command(COMMAND, "QUIT$CRLF"); &send_command(COMMAND, "QUIT\r\n"); です。 # 普段$CRLF="\r\n";でやってるもので(^^; |
|
> メリクリウスさん メールの返事をここでさせて頂きますが、人の多いところから リンクしちゃダメなのは、お肉さんのところです。うちは どこからリンクしても構いませんです。 > FTPdが起動中はエクスプローラからもファイルの削除等ができません。 FTPd が STOR 先のファイルをオープンし続けているということですね。 謎ですね。 こちらには Windows 環境がないので、そのものずばりの答えは わかりませんが、思いつくままに。 1. まずは小さなファイルでやってみて下さい。 2. sub client_work の最後で、SOCK のバッファリングを OFF にしている ($|=1) のは削ってませんよね? 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてないんじゃない ですか? データコネクションが確立したら、 150 Binary data connection for test/hogemoge (127.0.0.1,33299). というレスポンス、さらに転送が完了したら 226 Transfer complete. というレスポンスが返ってきませんか? (でもこれが原因じゃないと思う。レスポンスを読まなくても転送はできるはず) 4. $verbose=1 にして、プロトコル眺めてますよね? 5. passive なら、telnet コマンドだけを使って送信してみるのもいいかも。 6. ftp にデバッグオプションを付けて、プロトコルを観察してみては。 >> 1バイトずつ送ってみるとどうでしょう。 > えっと、具体的にどのようにすればいいんでしょうか? 例えばこんな感じです。 &send_command("STOR $target_file\r\n"); &client_work(DATA,$data_connection_host,$data_connection_port); &read_response(COMMAND); use IO::File; sysopen(IN,$infile,O_RDONLY); binmode(IN); # sysopen なら不要かな? while (1){ $nread = sysread(IN,$buf,1); $read_size += $nread; last if ( $nread == 0 ); print "$read_size read "; print DATA $buf || die "$!"; # 成功したかどうかチェック print "$read_size send.\n"; } close(DATA); close(IN); &read_response(COMMAND); &send_command("QUIT$CRLF"); &read_response(COMMAND); close(COMMAND); とりあえず、何バイト目でこけているのかは調べられるでしょう。 ただし、パケットレベルで 1バイトずつのデータが送られる、という 保証はありません。 念には念を入れて、print DATA の代わりに syswrite(DATA,...) を 使ってみるのもいいかも。 # syswrite = select(DATA);$|=1;binmode(DATA);print DATA と # 同じはずだと思うんですが、違いましたっけ。 Solaris の ftpd 相手に試していて思ったんだけど、 http://X68000.startshop.co.jp/~68user/net/ftp-5.html > 次のアクションは > データコネクションの確立なのか > コマンドコネクションからのエラーレスポンスなのか > のどちらなのかが わからないのです。 こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。 調べておかねば。 |
|
はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 「七ツ風の島 物語」というゲームなのですが・・・ (知っている人、いるかなぁ・・・) 第11章 『小さくてキレイな物』・・・で、どうしたらいいのか、わかりません。 あった事といえば、白ガラスのヒューと、カンぞうに会った事です。できれば、わかる人、教えてください。よろしくお願いします。 |
|
返事が遅くなって申し訳ないです。 ここ二日ほど色々あって何もできませんでした(^^; > FTPd が STOR 先のファイルをオープンし続けているということですね。 です。FTPd側の問題という可能性も無くはない気もしますが(但し、普通の クライアントを使用した場合は当然ながらうまく送信できます) まず、先程試してみた結果から。 どうやら原因は > 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない だったようです。 これを入れたらまともに動いてくれるようになりました。 念のため、詳しい報告も > 1. 小さなファイル(数KB程度)でも同様でした > 2. 削っていません。 > 4. とりあえずまともに動くようにしようと即興で作っていたので$verbose=1の部分は 削ってました(^^; 本来はそういうときこそ細かくデバッグすべきなんでしょうけど・・・ > 5. 6. telnetやftpを使えば問題なく送信できます。 なお、1バイトずつ読んでいく方法ですが、 print DATA $buf || die "$!"; ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。 print DATA $buf; のようにするとうまくいきました。 また、syswriteに関しては使ったことがないのであまりわかりませんが、 引数はsysreadと同様な形で取って、返り値は書き込んだバイト数のようです。 また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。 ありがとうございました。 |
|
> はじめまして。ゲームでわからない事があったので、誰か教えて下さい。 ここにはゲームに詳しい人はあまりいないような気がします…。 > どうやら原因は >> 3. QUIT 送信の前に &read_response(COMMAND) が一つ足りてない > だったようです。 なるほど。ちょっと不親切な ftpd ですね (と僕は思う)。 > ではデータ的に0x30、つまり'0'のところでなぜかdieするようです。 なんででしょう。調べてみよう。 > また、binmodeはsysopenでO_BINARYを指定しておけば不要かと思います。 ああそうか。(Cでいうところの) open でも改行コード変換できるんですね。 > こんな変な仕様は、もしかして FreeBSD の ftpd だけかもしれない…。 > 調べておかねば。 これは Solaris の ftpd でも同じでした。変なの。 |
|
はじめまして、ハリーと申します。 実は今、Kシェルを作っているんですが、シェル内で exportコマンドを打って環境変数を変更しようとし てもできませんでした。普通にexportコマンドを打 ってもダメなんですか?それとも出来ないのですか? シェル初心者なので、よくわかりません。 よろしく、お願いします。 |
|
export HOGE=FUGA で できませんか。 |
|
はい。 シェルの中でenvを打つと変更した環境変数に変わっているのですが シェルが終ってもう一度、envを叩くと元に戻っています。 |
|
子プロセスでいくら環境変数をいじっても、親プロセスには 影響しません。これはどんなシェルでも同じです。 具体的に何をしたいのかがわからないのですが、 どうしてもやりたければ、eval を使うしかないです。 |
|
ありがとうございました。 やってみます。 |
|
はじめましてつると申します。 ネットワークプログラムについての質問なのですが、 今、いろいろと事情があって ここのページを参考にプロキシのようなサーバプログラムを 作成しております。 なにをするサーバかというと、ブラウザからのリクエストを受け取り そのリクエスト(GET,POST)を他のWebサーバにそのまま送りつけ そのWebサーバからのレスポンス(HTML)を受け取り、 ブラウザに返してやるサーバです。 このページのソースを参考にしています。 サーバ部分はecho-server.plを httpリクエスト部分はhttp-client.plを利用しましたが、 Webサーバまではリクエストが行っているようですが レスポンスがうまく表示されません。 なにか原因がわかりになるようでしたら 教えてください。 |
|
ソースはこんな感じです。 #!/usr/local/bin/perl -w use Socket; $server_port = 4989; # ソケット生成 socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die "ソケットを生成できません。$!"; # ソケットオプション設定 setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die "setsockopt に失敗しました。$!"; # ソケットにアドレス(=名前)を割り付ける bind(CLIENT_WAITING,sockaddr_in($server_port,INADDR_ANY)) || die "bind に失敗しました。$!"; # ポートを見張る listen(CLIENT_WAITING,SOMAXCONN) || die "listen: $!"; print "ポート $server_port を見張ります。\n"; # while(1)することで、1つの接続が終っても次の接続に備える while (1){ accept(CLIENT,CLIENT_WAITING); # HTTP プロトコルを使う $port = getservbyname('http','tcp'); # ホスト名を、IP アドレスの構造体に変換 $iaddr = inet_aton("xxx.xxx.xxx.xxx") || die "[xxx.xxx.xxx.xxx]は存在しないホストです。\n"; # ポート番号と IP アドレスを構造体に変換 $sock_addr = sockaddr_in($port,$iaddr); # ソケット生成 socket(SERVER,PF_INET,SOCK_STREAM,0) || die "ソケットを生成できません。\n"; # 指定のホストの指定のポートに接続 connect(SERVER,$sock_addr) || die "[xxx.xxx.xxx.xxx]のポート$portに接続できません。\n"; # ファイルハンドル SERVER をバッファリングしない select(SERVER); $|=1; select(STDOUT); # クライアントに対してバッファリングしない select(CLIENT); $|=1; select(STDOUT); # WWWサーバにHTTPリクエストを送る while (<CLIENT>){ print SERVER "$_"; print "$_"; } # ヘッダ部分を受け取る while (<SERVER>){ # 改行のみの行ならループを抜ける m/^\r\n$/ && last; } # ボディ部分を受け取り、表示 while (<SERVER>){ print CLIENT "$_"; print "$_"; } close(CLIENT); } とりあえず、サンプルをそのまま利用させていただいております。 おかしいところがあればご指摘下さい。 perl初心者のものですみません。 |
|
簡単に言うと、HTTP proxy とは 1. proxy サーバが localhost:8080 を listen する。 2. ブラウザの proxy の設定を localhost:8080 にする。 3. ブラウザが http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi を読むとき、 GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0 Host: X68000.startshop.co.jp User-Agent: .... というリクエストを proxy 宛に送る。 4. proxy は X68000.startshop.co.jp:80 に接続し、 GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 Host: X68000.startshop.co.jp User-Agent: .... というリクエストを送る。 5. X68000.startshop.co.jp から (proxy に) 返事が返ってきたら、 そのままブラウザに渡す。 を行うプログラムです。とりあえず GET を中継できるように してみて下さい。 |
|
つるです。 早速のお返事ありがとうございます。 仕組みはだいたいわかるのですが 実際に作ってみるとなると・・・。 ネットワークプログラム初心者には かなりキツイです。 |
|
> 仕組みはだいたいわかるのですが こう言っちゃなんですが、自分ではわかっているつもりでも、 わかっていないのでしょう。 クライアントからのデータを読まないと、proxy サーバが どこに接続したらよいかは判断できないのに、先に接続 しようとしていますし、 GET http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi HTTP/1.0 を GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 に変換する処理もやってません。 ちょっとずつ作ってみて下さい。 |
|
つるです。 すいません。 説明不足でした。 >クライアントからのデータを読まないと、proxy サーバが >どこに接続したらよいかは判断できないのに、先に接続 >しようとしていますし、 実は、接続先は固定です。(IPアドレス指定です。) 特定のコンテンツサーバに接続しようとしてます。 >GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 >に変換する処理もやってません。 ブラウザからのリクエストは GET /~68user/cgi-bin/wwwboard.cgi HTTP/1.0 ・・・ のように来るようにしてます。 そして、そのリクエストを そのまま(操作無しで) 接続先Webサーバに転送しようとしていますので・・・。 すいません、説明不足で・・。 とりあえず、もうちょっとがんばってみます。 参考にするとよいページがあったら 教えてくださると幸いです。 ご迷惑をおかけします。 |
|
とりあえず 2〜3日悩んでみて下さい。それでも わからなかったらまた質問して下さい。 |
|
はじめまして。 Solarisのnfsで質問したいのですが。 .nfsAA5A (下4桁はユニークな番号に変化する) というファイルを見たことはありませんか? クライアントマシンからあるシェルを起動すると 勝手に出来てしまって、困っています。 サーバマシン上では出来ないのですが。 心当たりがあれば、なんでも良いので教えて下さい。 |
|
> .nfsAA5A 昔 消せなくて困りましたが、管理者に聞いたら NFS で トラブルがあった際、作成されるファイルだそうです。 しばらくすれば勝手に消えるとか。 ただし、本当かどうかは知りませんし、どういうトラブルが あったら作成されるのかも知りません。 |
|
もし FreeBSD と Solaris のNFS まわりのコードがある 程度同じなら (元は同じはずですよね)、 http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/sys/nfs/nfs_vnops.c?rev=1.150 /* * Silly rename. To make the NFS filesystem that is stateless look a little * more like the "ufs" a remove of an active vnode is translated to a rename * to a funny looking filename that is removed by nfs_inactive on the * nfsnode. There is the potential for another process on a different client * to create the same funny name between the nfs_lookitup() fails and the * nfs_rename() completes, but... */ static int nfs_sillyrename(dvp, vp, cnp) ... あたりのようです。 |
|
ありがとうございます。 現在、NFS & NIS の設定がうまくいってないそう なので、その辺の影響かな? まずは、ちゃんと設定するようがんばります。(^^; |
|
いつも拝見させていただいてます 今c言語でcgiのプログラム書いてるんですが hoge.exe?data1=aa&data2=bb みたいに引数を渡してプログラムを直接呼びたいのですが、うまくデータが渡せません Formからだと正常に動作するんですがサーバーの設定が関係しているんでしょうか サーバーはwindows nt + iisです apachだとそのような事はないですか? |
|
> hoge.exe?data1=aa&data2=bb 情報が不足していますので、わかりません。 「FORM からだと正常に動作する」というのは、どういう ふうに呼び出しているんですか? 「引数を渡してプログラムを 直接呼びたいのですが」とはどういうふうに呼び出そうと しているんですか? |
|
いつも勉強させていただいてます。あたしもがんばります。 |
|
大江山と言う童謡か歌の歌詞知りませんか? |
|
スミマセンでした... hoge.exeは日付等を受け取りlogを集計して返すプログラムです まず送信フォームのhtmlはこんな感じです < form method=post action="cgi-bin/hoge.exe" > < select name="data1" size="1" > < option selected value="aa"> aa < /option > < option value="bb" > bb< /option > < /select > < INPUT TYPE="SUBMIT" VALUE="送信" > < /form > これを < A HREF=hoge.exe?data1=cc&data2=dd > hoge < /a > のようにリンクから呼んで決まった処理をさせたいんですけどうまくいきません お手数ですが情報お持ちでしょうか |
|
またスミマセン.... <>の書き方を間違えてしまいました |
|
FORM は POST で送っているわけですね? で、 > <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a> だと GET になるわけです。hoge.exe は POST でデータを 受けているので、標準入力を読んでいるはずですよね。 もしGET にも対応したいなら環境変数 QUERY_STRING を 見るようにしないといけません。 C なら getenv("QUERY_STRING") でもいいし、 main(int argc,char *argv,char *envp) として envp を見てもよいでしょう。 |
|
ありがとうございます if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */ if(fgets(buf, len+1, stdin) == NULL) { return 1; } } else { /* GETの場合 */ strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1); } こんな感じでうまくいきました POST と GET ぜんぜん意識してませんでした(よく調べます) ほんとにありがとうございます。 |
|
promptの説明文の中にHTMLタグが表示されてましたよ % set prompt="%Sabc%s%Bdef%b%Ughi%u:" abc<b>def</b><u>ghi</u>: |
|
お久しぶりです、以前くだらない質問ばかりしていたものです(^^; CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか? 一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと もくろんだのですが見事に失敗しました。 open(SYS, "top|"); やはり甘かった。コマンドラインで top > hoge.txt としても取れないので top から取り込むのは駄目みたいですね。 オプションにもそれらしいものが見つかりませんでした。 FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。 面倒なんで試していませんが、一定の処理にかかった時間を測定して 負荷を調べようかと思うのですが・・・ これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^; あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に 数値を取れないと思ってますから。 何か方法を知っていましたら、よろしくお願いします。 OSはVineLinuxです。 |
|
> promptの説明文の中にHTMLタグが表示されてましたよ どうもです。直しておきます。 # 実は気づいていたんだけど、自作の変換フィルタをどう # 直せばよいのかわからくて悩んでいるところです。 > CGIでサーバーの負荷率 load average を求めたいなら uptime や rup localhost などが使えると思います。 > open(SYS, "top|"); 入力に tty を読んでるのなら、top < /dev/null で いけるかもしれません (ダメかも)。 なお load average は、違うマシンや OS と比較は意味が ありません。わかっておられるかもしれませんが、念のため。 |
|
uptimeの情報ありがとうございます。 なるほどこれなら何とかなりそうです。 手持ちのコマンドリファレンスには uptime のことが載っていません でしたが、man には掲載されていたので、これでうまくいきそうです。 /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも あまりの数に手を焼いていたところなので助かりました。 >入力に tty を読んでるのなら、top < /dev/null で やってみましたが駄目でした。 >なお load average は、違うマシンや OS と比較は意味が >ありません。わかっておられるかもしれませんが、念のため。 すいません、意味がよくわからないのですが、「この結果を元に ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 かを調べる用途に使うつもりです。 ありがとうございました。 |
|
> 「この結果を元にほかのサーバーと比較するには意味が無い」 そうです。「Pentium133+FreeBSD と Pentium166+FreeBSD」とか、 「Pentium133+FreeBSD と Pentium133+Linux」などの load average を 比較するのは意味がないです。また、load average が2倍だから と言って、負荷が2倍とか速度が1/2 ということもない、という 意図で書きました。 > 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 > かを調べる用途に使うつもりです。 ということであれば、load average でいいと思います。 > /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも > あまりの数に手を焼いていたところなので助かりました。 `load average' というキーワードを知っていれば、 % strings -f /usr/bin/* | grep -i 'load average' などとするのも一つの手ですね。 |
|
この間示唆して頂いた、マルチスレッドの関連文書を調べる長旅に出た ところ、68userさんのところにあるではないですか(echo関連)。灯台下 暗し・・・ 御恥ずかしい。 ただ、以下のようなメッセージが出たので、どうも僕の環境(後述)では 不可能みたいです。 The Unsupported function fork function is unimplemented at echo.pl line 36. 因みにperl -vの結果は以下の通りです。 version 5.005_03 built for MSWin32-x86-object 目的がテキスト変換なので、delegateみたいな形式(/-_-)で対応しようかな、 それともjavaでも使ってみようかな、それともPCにUnixをインストールしよう かな、と悩んでいるところです(なんかどれも実行しなさそうですが)。 |
|
> どうも僕の環境(後述)では不可能みたいです。 Windows では fork は使えませんので、select を使うしか ないですね。 IO::Socket と IO::Select を使って http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl こんな感じでしょうか。本当に実用段階まで持ってくには まだまだ機能追加、バグ取りをしなきゃいけませんが。 ポイントは、全てのソケットからのデータを select 経由で 受け取ること。今はそうなってませんので、1つのソケット からのデータが遅れると、そこがボトルネックになってしまいます。 |
|
> Windows では fork は使えませんので cygwinに入っているPerlはforkが使えるそうです。(試していません。) http://sourceware.cygnus.com/cygwin/ |
|
68user様; どうも御教授、ありがとうございます。 現在、示して頂いたスクリプトを理解しようと勉強しています。しかし、 理解した上で改造するまでに、ちょっと時間がかかりそうなので(※)、 先にお礼を申し上げます。 ※ ->とか、selectとかの概念がまだ無いので、アルゴリズムがまだ 理解できずに停止しています。 また、進捗があったら、ご報告します。本当にありがとうございます。 # http://X68000.startshop.co.jp/~68user/tmp/bogus-proxy.pl は、 # ひょっとして、僕の質問のために作って頂いたものですか? # だとしたら、大感激です! ←違っていたらすいません。 Yuuki様; どうも貴重な情報、ありがとうございます。 早速ダウンロードして、68userさんのecho.plを実行したら、とりあえずforkは するみたいなのですが、残念なことに、forkしたとたんに、子プロセスが一般保護 違反を起こしてしまう(kernel32.dll)みたいです。多分、僕の環境が一般的じゃ ないので、それが原因じゃないかな、と思っています。現在、解析中です(←時間 がかかりそうですが・・・)。 因みにcygwin32はB20(full.exeのほう)です。perl -vは以下の通りです。 This is perl, version 5.005_62 built for cygwin 折角情報を頂いたのに、生かせなくって、申し訳ないです。 |
|
> selectとかの概念がまだ無いのでアルゴリズムがまだ > 理解できずに停止しています。 考え方は http://X68000.startshop.co.jp/~68user/net/echo-4.html と 同じです。モジュールを使うことで、ちょっとだけすっきりと書けます。 ここらへんは、そのうち web で解説を書くつもりです。 > ひょっとして、僕の質問のために作って頂いたものですか? 自分で使おうと思って、たまたま作ってました :-) 一応、GET だけはできるレベルのものを置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/1st-proxy.pl shutdown あたりが とてもあやしい。 > cygwinに入っているPerlはforkが使えるそうです。 あ、そうなんですか。Windows 環境で perl を動かした ことがないので、適当に書いてしまいました。 |
|
http proxy は結構難しいですね。シグナルが飛んできたり、 コネクションを切断できなかったり、ファイルディスクリプタが 解放されなかったり…といったバグに苦しみながらも、3日かかって やっと書き上げました (でも HTTP/1.1 には未対応)。 # perl が panic で落ちるのを初めて見た。 でも、ネットワークプログラミングに関する理解力を試すには、 絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 # というわけで、完成版は出しません :-) |
|
いろいろ、ありがとうございます。早速ダウンロードして解析してます。 まだまだ、分からないことばかりですが、何とかふんばって作ってみます。 でも、68userさんが3日かかって作り上げたってことは、僕はどのくらい かかるのか、考えただけでも恐ろしくなります。いつになるやら・・・ もっとも、試行錯誤して自作するのは結構楽しいので、以下の、 >でも、ネットワークプログラミングに関する理解力を試すには、 >絶好の例題かと思いますので、ぜひチャレンジしてみて下さい。 ># というわけで、完成版は出しません :-) は、楽しみが残って嬉しいです。 >web で解説を書くつもりです。 楽しみにお待ち申し上げます :> # ># perl が panic で落ちるのを初めて見た。 # 僕も見られればいいなぁ、と妄想してます・・・ |
|
みなさんはじめましてこんにちは。 今日はじめてこのページを見たのですが、いやはや素晴らしい内容ですね・・ さんざん苦労して色々なところで得た知識(+α)がここに・・・(笑 私は最近Winでのネットワークプログラムに凝っているものです。 簡単なHTTPやSMTP、POP3クライアントはBorland C++ BuilderでWinsockを使い作成したこともあります。 さて実は質問があるのですが・・・ 現在DNSサーバーからのMXレコードの取得のプログラムを作っています。(リゾルバもどき?) メールアドレスに対し送信先のSMTPサーバーのアドレスを調べる簡単なクライアントです。 さてそこで問題となるのが問い合わせを行うDNSサーバーです。 私はダイアルアップでインターネットに接続しているのですが、接続した状態でwinipcfgを実行すると 「DNSサーバー」の欄にDNSサーバーのIPアドレスが入ります。 ダイアルアップを終了するとこの表示が消えます(当たり前かもしれません)。 このDNSサーバーのアドレスをプログラム内で取得したいのですが・・・一体どうやれば良いのでしょうか。 もし何かしらご存じでしたらお教え頂けるとありがたいです。 |
|
> このDNSサーバーのアドレスをプログラム内で取得したい こればっかりは OS に尋ねるか、設定ファイルを見るか、 ユーザに手動で入力させるか、くらいの手しかないんじゃ ないでしょうか。 winipcfg の出力を見るってのはダメですか? # 美しくないですけど。 |
|
こんにちは。いつも勉強させていただいています。 > DNSサーバーのアドレスをプログラム内で取得したいのですが RasGetEntryProperties で取得できるような気がします。 RASENTRY 構造体の ipaddrDns が、 > Specifies the IP address of the DNS server to be used while > this connection is active. だそうです。 NT で無事に取得できた覚えがあるのですが、かなり昔のことなので 記憶が曖昧です。 |
|
68userさん、kuwさん、お返事ありがとうございます。 >ユーザに 出来れば使う人にDNSサーバーを意識させないで(設定の必要なしに) 動かしたかったのです。。 >RasGetEntry おお、ありがとうございます。そうか、こういうのがあったのか・・・とヘルプを見ましたが、 NTのみとのこと・・(涙 実はダイアルアップでない、LAN内の端末でも使いたいという希望もあるんです。 おとなしくあきらめてユーザに設定してもらおうかな(^-^;; 本当にありがとうございました。 CGIのperlスクリプトなどについてもここで勉強させていただきます。 それでは失礼致します。 |
|
Windows は全く知らないのですが、 open(IN,"winipcfg|"); while (<IN>){ last if ( ($ip_addr) = m/(\d+\.\d+\.\d+\.\d+)/ ); } てな感じで取得できないんでしょうか? |
|
リリィさん、霊山の寺の中に、隠し通路があって、その奥に宝箱が2つあって、その内の1つに扉を開けるための、『大きな鍵』がありますよ。 |
|
Windows も UNIX も Perl も中途半端にしか知らないので、 誤解しているかもしれないのですが、、、 winipcfg は 標準出力に結果を吐き出すのではなくて、 ウィンドウが出てきます。 しかも、そのウィンドウで、[詳細ボタン]をクリックして はじめて DNS サーバが表示されます。 ですので、winipcfg の結果から DNS サーバを取得する のは容易ではない気がします。 # 不可能ではないのだろうけど。 |
|
はじめまして・・・ こちら 大阪のヒトです。 突然ですが 最近 日曜日の夜中に「ニキータ」のTV版をみて はまりまくってます。 で 「ニキータ」情報を知りたくて 検索したのですが・・・ どなたか TV版「ニキータ」について 教えて下さい!!! お邪魔しました ☆ |
|
> winipcfg は 標準出力に結果を吐き出すのではなくて、 > ウィンドウが出てきます。 ああ、なるほど。だから金床さんは お困りなわけですか。 全く話が見えてませんでした。失礼。 > どなたか TV版「ニキータ」について 教えて下さい!!! > 『大きな鍵』がありますよ。 たまにゲームなどの話題が出てくるので、なぜだろうと 不思議に思ってたんですが、もしかして SEGA BBS の 過去ログを見てこちらに書き込まれたわけですかね? # http://X68000.startshop.co.jp/~68user/segabbs/bbs1/vol390/390_432.html うちに置いてあるのは、昔の SEGA BBS の過去ログですので、 発言できません。こちらへどうぞ。 http://www.sega.co.jp/sega/p_cafe/bbs.html |
|
こんにちは。 僕は研究室配属でUnixマシンとご対面になります。(構造解析用) で、ちょっと触ってみたんですが難しかったです。(^^; 一応結構速いマシンなので使いこなそうと思ったんですが、 root権限貰う予定なので下手にいじりすぎるのもどうだろうと思いました。 OSはSunなんですが、今のところ画面も256色しか出ていません。 追々勉強して使いこなそうとは思っているんですが、 SCSIのHDを買ってきてそれにNTを入れたらどうなるのかと思って質問に来ました。 NTを使うときはUnixは完全に切り離して壊さないようにしたいんですけど、 ルートドライブ以外にNTを入れる事って可能なのでしょうか? また、出来ればNTの方は管理者専用(笑)にしたいのですが Dualbootに関して問題とか生じないでしょうか? 僕以外はPC使えない人なので一人でWSでインターネットしながら・・・ と目論んでいるのです。(笑) 要約すると、Unixは大事に使い、NTを別のHDに入れて普段はこちらは使いまくると言うわけです。 HDを切り離しててもフリーズしたりするとUnixの方のHDもちょっと心配ですね。怒られない程度にやる予定ですが(^^; |
|
もちろんマシンは Ultra なんとかじゃなくて PC/AT 互換機なんですよね? > 一人でWSでインターネットしながら と書いてあって、ちょっと気になったもので。 > Dualbootに関して問題とか生じないでしょうか? これに関してはこちらを。 http://www.pfu.co.jp/x86/faq/other-002.html > ルートドライブ以外にNTを入れる事って可能なのでしょうか? すいませんが、NT は全くわかりません。 > HDを切り離しててもフリーズしたりするとUnixの方のHDも > ちょっと心配ですね。 うーん、完全に2台の HDD に分けるなら、あまり心配すること ないんじゃないでしょうか。と、個人的には思います。 Solaris も Windows も守備範囲外なので、いまいち お役に立てず すいません。 # 僕の知識はとても狭く、なおかつとても浅いので (^^; |
|
えっと、compacのalphaマシンなので いまいち分かってないです。(^^; NTも乗せられるとは思うんですが。 ありがとうございます |
|
おひさしぶりです. 一つ教えて下さい. mule(emacs)で,lexまたはyaccのコーディングをしたいのですが, lex-mode, yacc-modeというのはあるのでしょうか? |
|
> えっと、compacのalphaマシンなので えっ、alpha 対応の Solaris ってあるんですか? あと 最新の NT って alpha で動きましたっけ。 # すいません、全然知らないので…。 > 元隣人(GPZ900R) > おひさしぶりです. おひさしゅうございます。2週間ぶりですけど :-) > lex-mode, yacc-modeというのはあるのでしょうか? 昔 fj で教えてもらったものを置いておきます。どこから 取ってきたかは忘れました。 http://X68000.startshop.co.jp/~68user/tmp/bison-mode.el http://X68000.startshop.co.jp/~68user/tmp/yacc-mode.el 常用してないので、どちらが使いやすいかはわからないです。 {lex,flex}-mode は聞いたことがないです。みんな c-mode で やってるんですかね? |
|
関西のソフマップにNTTのモバイル3の在庫はありますか? |
|
>えっ、alpha 対応の Solaris ってあるんですか? >あと 最新の NT って alpha で動きましたっけ。 色々調べてみたんですが、 どうやらNTは載らないみたいです。(compaqがサポートしてないのかも知れないけど) alphaでNTが動く物も有るようですがよく分かりません。 で、Tru64 UnixというのがOSな気がします。 そうなるとUnixを勉強するしかないようです。(^^; |
|
> どうやらNTは載らないみたいです。 NT4.0 は動くみたいですけどね。 # NT5.0 って出てるのか知らないけど…。 ## NT5.0=Windows2000? > Tru64 UnixというのがOSな気がします。 Tru64 以外で動くのは、NetBSD、FreeBSD、Linux あたりでしょうか。 |
|
一般ユーザーで持ってる人は少ないと思います。 Tru64Unixなんて初めて聞いたOS名でした。(^^; しょうがないのでLinuxを入れるかも知れません。 UnixをDualbootなんて出来るんでしょうか? #NT5=Win2000と考えて良いと思います NT4.0が動くとして、ドライバとかって有るんでしょうかね? とりあえず、4月になって院生が居なくなったら僕が使えるようになるので(笑) |
|
> UnixをDualbootなんて出来るんでしょうか? 多分 Alpha Station のアーキテクチャは PC/AT と異なる だろうから、専用のブートローダが要るんでしょうね (ほんとか?)。まぁでも、誰かが作ってるでしょう。多分。 これ以上は僕にはさっぱりわからんので、fj や Linux 関係の メーリングリストで質問してみて下さい。 |
|
どうも。高山です。 現在 Perl の syntax を絶賛嫌悪中(意味不明)。 あの $ やら % やら @ やら & を見ると殺意が沸きます(笑)。 # 1 ヶ月後には謎の世界な気が。二次元配列とか作るの面倒だし……。 tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 Ruby で書けたら嬉しいと思う今日この頃。 # ちなみにバグを 1 ヶ所発見しました。tmpl2html を通した後に # 余計な改行が入るという物です。 |
|
> tmpl2html の改造を申し出て墓穴を掘ったかもしれません(苦笑)。 iso-2022-jp 化は、おまかせします。はっきり言って、 メリット云々じゃなくて美意識の問題ですよね? あと、EUC 化するとしたら、ついでに jcode::euc2jis/jis2euc を 削って直接 EUC の HTML を書き出すようにしていただけませんか? # ちょっと CGI が重すぎるので、処理を減らしたい。 > Ruby で書けたら嬉しいと思う今日この頃。 まだ ruby は初心者同然なので、既存のスクリプトの書き換えは ご勘弁を。でも新規スクリプトなら…ruby でも…いい…かな…? でもあんまり難しいことしちゃイヤ (^^; |
|
> メリット云々じゃなくて美意識の問題ですよね? 嫌な事態への予防策です。確立的には結構低いでしょうけど。 でも、熊谷さんが待ったをかけていますので、まだしません。 # む〜。僕の勘違いだったりするのかな? 美意識の方は、持ち出すと際限が無いので(笑)。考慮外。 > まだ ruby は初心者同然なので、既存のスクリプトの書き換えは 僕も初心者同然ですけど、触ってると面白いです。 それにオブジェクト指向な所がいいです。僕は Java から入ったので、 実はかなりオブジェクト指向大好き人間なのですよ。フフフ(笑)。 |
|
CVSって最近までなんのことだかさっぱりわからなかったんですよ。 ちょっと前いじってみようと思って、Windows版のCVS(WinCvsじゃなくてコマンドラインの) がダウンロード出来る所まではわかったものの使い方がわからずにそのままでした。:-) それで今日、何気に高山さんのホームページを見たらCVSの項目があったので そこのページを見ながらやってたら、とりあえず使えるようになりました。(^^; しかし、もう、必需品となりつつある。 とりあえず使えるようになった所で、以前は謎だった http://www.ruby-lang.org/ja/download.htmlの pserverをお使いの方は〜 に書いてあるとおり打ちこんだら ダウンロードが始まって、、その時はすごい嬉しかったです。(^^; 今度はVineLinuxにCVSをインストールしてWindows側から管理出来るようにしてみたいな・・と。 # 何が言いたいのかよくわからない書きこみになってしまった。:-) |
|
> でも、熊谷さんが待ったをかけていますので、まだしません。 あれは待ったなのかな? 別に問題ないんじゃないでしょうか。 なお、僕の方は3月15日前後から暇になります。運用開始は 今月中の予定。でも予定は未定 :-) > CVS /etc/* とか、個人用 dot file とか、ここの web page も cvs で管理したいんだけど、なかなか…。 |
|
> それで今日、何気に高山さんのホームページを見たらCVSの項目があったので あ。役に立ちましたか。良かった。CVS 便利ですよね。 # そいえば自分のウェブ随分更新してない……。 僕は自分のウェブを CVS で管理してますが、 $Id$ などで更新時間を表示できるので楽です。 > 運用開始は今月中の予定。でも予定は未定 :-) 早く運用始めないと忘れ去られそうですね(汗)。 # 既に忘れられてるかも……(苦笑)。 |
|
> # 既に忘れられてるかも……(苦笑)。 ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 ほえ〜。 |
|
> # そいえば自分のウェブ随分更新してない……。 CVSの項目に http://www-vox.dj.kit.ac.jp/%7enishi/cvs/cvs-manual/cvs-jp_toc.html CVSの説明書日本語訳? http://www.freebsd.org/~fenner/cvsweb/ CVSWEB を追加しとくのはどうでしょうか? 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 (http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=756) http://x68000.startshop.co.jp/~68user/net/sample/echo-server-fork.pl をまったく変更しなくてもWindowsで動きます。 その時のスクリーンショットを、、:-) まずは1つのtelnetで... http://homepage1.nifty.com/tyuuki/68user/mt_echo/client.png http://homepage1.nifty.com/tyuuki/68user/mt_echo/server.png 2つ同時にアクセスされても大丈夫。 http://homepage1.nifty.com/tyuuki/68user/mt_echo/thread.png |
|
Yuuki様; forkできているみたいですね! 情報ありがとうございます。 僕は、会社のマシンで実験したのですが、やっぱり落ちてしまいます・・・ なので、あきらめていたのですが、まだ検討の余地があるってことですね。 う〜ん、なんでだろう? ←自問自答です。 68user様; すいません、やっとselectの概念がわかったのと、以前いただいた スクリプトを試してうまくいっているところまでしか進んでいません。 まだまだ道のりが長そうです。なかなかいい報告ができないので、 心苦しいです・・・ |
|
はじめまして。 これからUNIX(LINUX)を導入して、ネットワークプログラミングを 勉強しようとしている者です。 まだ全部読んでませんが、このページはすごくわかりやすく、 しかも私のレベルに合っているので重宝します。 これからも、この調子で更新していってください(^^) 68userさんはすべての作業をX68000でやられているのですか?(^^; |
|
ん〜。眠いぜ。 > ML が立ち上がって はや14ヵ月。完全に忘れられてます (^^; たまに「この作業報われない?」と思う瞬間があります(笑)。 某 www-links-core ML も、ほぼ二人の世界ですし。 > http://www.bsdclub.org/~motoyuki/d/d200003a.html#08-1-2 何か段々商業色が強くなっていくようで、個人的には嬉しくないです。 最近の FreeBSD はどうも妙な方向に向かいつつあるみたいな感じが。 |
|
すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 助けてください。 よろしくお願いします。 |
|
> 前に僕が書いたcygwinでforkは使えますってやつですけど試してみました。 なるほど。fork できる Win 用 perl *も* あるってことでしょうか。 > すいません、やっとselectの概念がわかったのと、以前いただいた > スクリプトを試してうまくいっているところまでしか進んでいません。 ま、一歩ずつ着実に…。 > 68userさんはすべての作業をX68000でやられているのですか?(^^; Using FreeBSD with X68000 spirit ということで :-) > すいません、少しお聞きしたいんですが、FreeBSDにDDS規格のDAT装置を > 取り付けたいのですがSCSIやらデバイスの設定やらさっぱりわかりません 僕もわかりませんので、FreeBSD-users-jp などで質問して下さい。 なお、こういう質問の仕方では「何がわからないのか、デバイスが 認識されないのか、設定方法がわからないのか」などの情報が全く 書かれていないので、投稿する際は そこらへんを詳しく書いて下さい。 あと、 http://www.jp.FreeBSD.org/search.html#doc で、DDS で検索するといくつか引っかかります。 |
|
こんにちは。 はじめて投稿さしてもらいます。 smbclientコマンドのオプション-Mってありますよね。 UNIX→WinPCへの送信はOKなんですが、 WinPC→UNIXへの送信メッセージってどうやってWinPCのメッセージを参照 するのですか? #ちなみに、使用UNIXはRedHat LINUX5.2(J)です。 宜しくお願い致します。 |
|
こんばんわ。どーしても FTP が作りたくなったので、探して みたら辿り着きました。 FTP の資料を探していたくせに、 いま調べまくって Proxy を VisualBasic で作成中です。 RFC を読んでからにするべきなんでしょうが、すでに コンテンツや画像の中継機能は実装できていますが、マルチで まともに動くのが怪しい VB で作っているのと、状態遷移図を 書かずにやってるのとで、サーバからのデータを取りこみ きれずにソケットが閉口(笑)してしまいます。 単純なデータ処理なら既に完成しているんでしょうが Java を 横目で眺めつつ、ノウハウの蓄積などと嘯いております。 ドカチンプログラマ(Oracle屋さん)なので、そっち方面では恩返しが 出来ると思いますが、メインはやっぱり Windows なので、Oracle on Unix となるとちょっと…。しかも Socket やってるくせに私は C/C++が使えません(^^;)とはいえ NetBSD/X68k なんかも知ってたり して、支離滅裂なコンピュータ人生です。 またちょくちょく顔を出させてください。でわまた。 |
|
へにかさん > forkできているみたいですね! こっちの環境書くの忘れてました:-) Windows98 Cygwin B20 Perl 5.005.62 (http://cygutils.netpedia.net/B20/perl-5.005_62.html) cygwin1.dll (ftp://gd.tuwien.ac.at/gnu/sourceware/cygwin/snapshots/cygwin1-20000306.dll.gz) http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml とか参考になるかもしれません。 |
|
また書き込んじゃいます。てへ。 なんかFreeBSDとBSD/OSの会社が合併するようですね。 Linux勢に押され気味のBSD勢ですが、今後はBSDも活気が 出てきますかね? っていうか、まだLinuxかBSDか迷っています。 ノートPCで動かす予定なので、ノート関連の資料が多く揃っている(?) BSDもいいなぁなんて。 |
|
Yuuki様; cygwin1.dllを入れ直したら、無事forkしました。 色々、ありがとうございます! 嬉しいです。 嬉しさのあまり、証拠画面を作成しました。 以下に示します。宜しかったらご覧ください。 http://henika.virtualave.net/echotest.gif |
|
> smbclientコマンドのオプション-Mってありますよね。 すいません、samba の設定をしたことがないのでわかりません。 > いま調べまくって Proxy を VisualBasic で作成中です。 HTTP proxy ですか? それとも ftp? > 状態遷移図を書かずにやってるのとで、サーバからのデータを > 取りこみきれずにソケットが閉口(笑)してしまいます。 あ〜、普通 状態遷移図を書くもんなんでしょうか。 僕は素人なので思いつくままコーディングしている のですが。その結果、close でソケットが閉じず、 shutdown しなきゃならないプログラムが出来上がりました (笑)。 > なんかFreeBSDとBSD/OSの会社が合併するようですね。 FreeBSD Project に資金提供して、その見返りとして CD-ROM を 売っている (と言っても、誰でも CD-ROM を売ってもいいんです けどね) Walnut Creek と、BSD/OS を作っている BSDI が合併、 ということです。念のため。 個人的には、OpenBSD,NetBSD 陣営とも一本化してほしいもんです。 人手が分散するのが惜しい。Linux 界も、あそこまでディストリ ビューションを乱立させることもないと思うんですが…。 > へにかさん、Yuuki さん Windows ユーザへの注意点とか、ここから perl を落とせとか、 そこらへんがまとまってるリンク先があれば、 http://X68000.startshop.co.jp/~68user/net/ に付け加えますが、何かいいところはありますか? |
|
いまつくってるのは、なぜか http-proxy です。 状態遷移図とかは、商売上お客さんに納入しないとだめなときが ありますが、あればあったで、自分が混乱したときに役立ちます(笑) |
|
質問です。 wwwboardに以下のような行がありますが、 print <CACHE>; これは my @line = <CACHE>; print @line; と同じような動作をするのでメモリに負担がかかるような気がするのですが どうなのでしょう? |
|
> メモリに負担がかかるような気がするのですが う、その通りですね。修正しておきます。ありがとうございました。 |
|
> print <CACHE>; の他にも、なんやかんやと掲示板をいじってみたり。 というわけで、テスト。 すいませんが、古い cookie は多分効きません。 |
|
> Windows ユーザへの注意点とか、ここから perl を落とせとか、 > そこらへんがまとまってるリンク先があれば、 僕が見てきたページには無いようです。 僕がそこらへんをまとめたページを作りますね。 WindowsでPerlをやる時の注意点 てな感じで。 > 古い cookie は多分効きません。 例によって、名前を入力する場所に "68user"と入ってました。:-) |
|
> 例によって、名前を入力する場所に "68user"と入ってました。:-) ありゃ、古いバグを掘り起こしてしまった…。 |
|
まとめたページ、とりあえず作りました。 まだ情報が少ないですが、、(なのでまだ公開してない) http://homepage1.nifty.com/tyuuki/perl/windows_perl.html かなり眠い状況で書いたので間違いあるかも。です。:-) |
|
あ、Yuuki様が既に・・・ でも折角なので、投稿してしまいます。 ご希望に何処まで沿えるかどうか分かりませんが、これが良いと思います。 http://www.st.rim.or.jp/~nakata/ (但し後半部分のリンク集) ただ、これだとfork可能な、cygwin上のperlへは辿り着かないので、 Yuuki様が紹介された、以下のサイト、 http://www.jaist.ac.jp/~fujieda/cygwin/ 更に、cygwin1.dllを入れ替えなければならないので、その参考として、 http://www.jaist.ac.jp/~fujieda/cygwin/snapshot.shtml を付け加えればいいかと存じます。 cygwinをインストールして、perlをインストールして、cygwin1.dllを 入れ替えて、やっと動作するので、forkが必要な場合以外でインストール するのはかなりしんどいかも知れません。ActivePerl(http://www.activestate.com/) がforkをサポートさえすれば、最初に紹介したサイトが一番良いと思います。 ついでに進捗; なんとか、mime typeを認識まで出来ました。後はtextのfilterを入れる 寸前で(schedule的に)停止中・・・ あと、全く関係無いですが、状態遷移図からプログラムを吐き出すソフト、 って存在するのですか? フローチャートだと、 programa(http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/)が面白いです。 ハードだと、stateCADやDesignBookが有名です。 ※ cookieを久しぶりに食べたら、名前が へにか Email になって ました。また、WWWC(更新チェッカ)で3/14 8:22にチェックしたら、 3/13 22:12でした。更に、曜日が、羨ましい状態です。 |
|
はじめまして。UNIXのコマンドの質問なのですが... % ls -l -rw-r--r-- 1 *** ***** 2449 Mar 14 08:17 **.* -rw-r--r-- 1 *** ***** 1739 Mar 14 08:17 **.* -rwxr-xr-x 1 *** ***** 1223 Mar 8 00:04 **.* -rw-r--r-- 1 *** ***** 4135 Mar 14 08:20 **.* -rw-r--r-- 1 *** ***** 29140 Mar 14 08:20 **.* と、こんなかんじで表示されると思うのですが、そのとき↓のように表示したいときは どうすればいいですか? 2449 1739 1223 4135 29140 こんなかんじにファイルサイス゛列だけを表示したいのですが教えてもらえますか? |
|
こんにちは。 > ファイルサイス゛列だけを表示したい わたしなら、 ls -l | awk '{print $5}' かなぁ。 awk って便利ですよね〜 |
|
kuwさん、ありがとうございました。 助かりました。 |
|
はじめまして レンタルサーバを借りていて、telnetで少々時間のかかるコマンドを バックグラウンドで順番に実行させようと思っているのですが、 ログアウトするとどうもプロセスが終了してしまうようなのですが・・・ ログアウト後も終了させないでつづけさせるにはどうしたら良いのでしょう? ちなみに、commandA&&commandB &っていうふうにコマンドラインには 入力しています。 超初歩的な質問だとおもいますが、よろしくお願いします。。。 |
|
> ログアウト後も終了させないでつづけさせるには http://X68000.startshop.co.jp/~68user/unix/pickup?nohup でいいですか? > 更に、曜日が、羨ましい状態です。 おぉ、毎日が日曜日…。 Win+perl の件は後程。 |
|
スゴい深刻な問題抱えてますーーーー。 連休明けまでに(3月20日までに)プレイステーション2売ってくれる 人いませんかーーーー????? チョットクライ高くてもかまいませんんんん。 |
|
> cygwinをインストールして、perlをインストールして、cygwin1.dllを > 入れ替えて、やっと動作するので 勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 CygwinPerlをインストールするためにCygwinをインストールする必要はないです。 どうするかというと、それは僕のページに書いてます。:-) (http://homepage1.nifty.com/tyuuki/perl/windows_perl.html) |
|
>68userさま お返事ありがとうございます。 リンク先のnohupコマンドを使ってやってみたのですが やっぱりログアウトするとプロセスが終了してしまうみたいです。 nohup /home/hoge/hage/commandA&&/home/hoge/hage/commandB & というかんじで入力しているんですけど。。 実行すると「nohup: appending output to `nohup.out'」 というメッセージがでます。 こういうやり方でいいんですよね? サーバの設定の問題なのかな? どうすればいいんだろうか。。 |
|
> 実行すると「nohup: appending output to `nohup.out'」 ということは bash をお使いだろうと思いますが、こちらでは nohup commandA && nohup commandB & でできました。tcsh なら ( nohup commandA && nohup commandB ) & とサブシェルに実行させれば動くようです。 |
|
Yuuki様; >勘違いしてCygwinをダウンロード(13MB)する人がいるかもしれないので一応。 うっ、た、確かに・・・ ご指摘ありがとうございます。 会社のマシンでも、pathからcygwinをはずして、usr\以下にpathを 追加し、そこにcygwin1いれると、動いてました。 あと、Yuuki様のページ、なかなかインストールしやすくなっていて、 感心しました。 |
|
DVDとCD−RWが一緒になっているドライブがあると聞いたけど、これってお買い得? |
|
モジュール関係を中心に更新しました。 http://X68000.startshop.co.jp/~68user/net/ さすがにネタが尽きてきた & 飽きてきた。何かおもしろい 題材ないですかね。NNTP も ICQ もいまいち食指が動かないなぁ。 あと、Windows+perl を使うときの参考ということでリンクを 張りましたが、よいですか?>Yuuki さん # 「よいですか?」というのは (失礼な言い方でなりますが) # こういう分野は情報がすぐに古くなるので、定期的に更新を # 続ける気はおありですか? ということ。 ## 僕は Windows 使ってないため、情報が正しいかどうか全く ## チェックできないので。 なお、ちょっと忙しくなるので、26〜27日あたりから 4月中旬まで しばらく掲示板を閉めます。 |
|
>こてつさん DVDとCD-RWくっついてるやつは 性能的にみても,別々に買ったほうが安いので 辞めといたほうがよろしいかと。 >68user様 自作機で新マシン作りました。ハード関係 前より詳しくなりましたよ。CGIは相変わらずですけど。 奥深いですね。自分で組むと全く動かないです(w |
|
> あと、Windows+perl を使うときの参考ということでリンクを > 張りましたが、よいですか?>Yuuki さん はい。大丈夫です。 |
|
> はい。大丈夫です。 了解です。 > 自分で組むと全く動かないです(w CGI ってのはデバッグしにくい環境なので、いろいろと がんばってみて下さい。 いろいろとありまして、転載についての説明を http://X68000.startshop.co.jp/~68user/ に加えました。ご一読下さい。 予告通り、4月中旬まで掲示板は閉めます。ではまた。 |
|
68user様 突然掲示板に書き込む無礼をお許しください。 私はネットワークの勉強をし始めたばかりの薩摩という者です。 こちらのページは大変奥深く、いつきても感動してしまいます。 ところで、今回意を決して掲示板に書き込むことに決めたのは、 ftptransのforkの部分を4引数selectを用いたらどうなるかを 知りたかったためです。 自分で考えてみたのですが、ソースが汚くなってしまい、 もし68user様ならどのように書かれるのか気になって しまったのです。本当ならこういうソースはメール等で お送りすべきとは思うのですが、こちらの方でするように とありましたので、いかに書きます。なお、ftptrans内で 用いられているサブルーチンはそのまま使わせて頂きました。 if ($passive){ &client_work(DATA,$data_connection_host,$data_connection_port); } $rin = &set_bits(COMMAND,DATA,DATA_WAITING); while(1){ $ret = select($rout=$rin,undef,undef,undef); if(fileno(COMMAND) && vec($rout,fileno(COMMAND),1)){ $ret = &read_response; if ( $ret =~ m/^5/ ){ print STDERR $ret; close(DATA); close(DATA_WAITING); exit; }elsif( $ret =~ m/^1/ ){ if ($mode eq put){ open(IN,$infile) || die "$infile: $!"; while (<IN>){ print DATA $_; } close(IN); } }elsif( $ret =~ m/^2/ ){ close(DATA); } }elsif(fileno(DATA_WAITING) && vec($rout,fileno(DATA_WAITING),1)){ accept(DATA,DATA_WAITING); $rin = &set_bits(COMMAND,DATA,DATA_WAITING); close(DATA_WAITING); }elsif(fileno(DATA) && vec($rout,fileno(DATA),1)){ open(OUT,">$outfile") || die "$outfile: $!"; print OUT <DATA>; close(OUT); close(DATA); exit; } } sub set_bits { @sockets = @_; $rin=""; foreach $sock (@sockets){ if(fileno($sock)){ vec($rin,fileno($sock),1)=1; } } return $rin; } sub to_bin { return unpack "B*",$_[0]; } 以上です。投稿が非常に長くなってしまいましたが、 気付いた点がありましたら御指摘いただけると幸いです。 また、68user様がかかれた物も拝見できましたら ありがたいのですが。 以上、よろしくお願いします。 |
|
ごめんなさい。下の投稿をしたのは僕です。 名前が抜けていました。どうも削除はできないようなので、 もう一度投稿しました。 本当にごめんなさい。 |
|
どうも、おひさしぶりです。再開おめでとうございます。 散々アドバイス頂いて、スクリプトも頂いて、そのおかげでなんとか perl proxyを作れました。本当にどうもありがとうございます! sysreadの返値がundefかどうかを判定するところではまってました。 これでやっと当初の目的(漢字変換および80桁で折り返す、ヘブライ語 のテキストをiso-8859-8-iからiso-8859-8)に取り掛かれます・・・ |
|
ふう、やっとネットワークに繋がった。 > perl proxyを作れました。 あれを完成させてコメント付けて解説付けて公開するつもりでしたが、 全然進んでないので、置いておきます。 http://X68000.startshop.co.jp/~68user/tmp/2nd-proxy.pl へにかさんのが これより高機能なら公開して下さいね。 # 不具合: # POST の長さについて、実際のデータより少し多めに送ってしまう # ような気がする & たまに永遠にソケットを読みに行ってしまう # ことがある & ブラウザ側が途中で切断しても proxy 側が感知できない。 # perl5.004 だと動かないような気がする。perl5.005_05 以降 # ということで。 >薩摩さん これって動いているんですよね。ならいいんじゃないでしょうか。 でもまぁ、せっかく select を使っているんだから、 > while (<IN>){ > print DATA $_; > } せずに、read して 再度 select で待つとよいかもしれません。 そうすれば、「現在 〜% 読み込み中、あと何秒、(〜bytes/sec)」 なんてのを刻々と表示できますし。表示するかどうかは別としても、 僕ならそうすると思います。 |
|
68user様 有難うございました。なるほど、readを使うとは 思い当たりませんでした。これから挑戦してみます。 有難うございました。 |
|
68userさんへ どうも、はじめまして UNIX初心者です。 私はUINXの勉強をし始めたばかりの岡野という者です。 こちらのページはいつもお世話になっています。 実は、userさんにgzipがなぜ使えないのか?? どうしても知りたかったため 投稿をしました。 gzipをインストールをして、pathで環境設定をしたんですが・・・・ バイナリーファイルを実行できません。 gzip -d bash-2.03-sol7-sparc-local.gz と打ったのですが、 /GNUzip/root/usr/local/bin/gzip:execフォーマットエラー こう出てきました。 なぜでしょう? OSはsolaris5.7です。 |
|
exec フォーマットエラーという意味がわからんので確認して下さい。 適当なファイル foo を用意して、gzip foo で foo.gz が作成されますか? できるなら、 bash-2.03-sol7-sparc-local.gz が壊れているんでしょう。 gzip foo でも exec フォーマットエラーとなるなら gzip 自体がおかしいんでしょう。どうやってgzip を インストールしましたか? |
|
>68user こんちは。いろいろおつかれさまです。 もうおともだちはできましたか? さて、早速ですが、以前作っていただいた掲示板のCGI、 実はダウンロードしたつもりで忘れていたみたいです。 いろいろ探してみたんですが、見つかりませんでした。 なので、お手数ですが、もっかいどっかにアップしてやって下さい。 |
|
はじめましてこんにちは。 diffコマンドで質問があるのです。 最終行にnewlineがあるファイルとないファイルを比較したとき、 newline以外の部分が同じでも、その行は違うよと答えてきます。 newlineあるなしに関わらず内容部分だけでdiffするにはどうしたら良いでしょうか。 どうか教えてください。よろしくお願いします。 |
|
> diff うちの GNU diff-2.7 では、-b オプションで お望みの動作をしているようです。 > もうおともだちはできましたか? まぁ、それなりに。というより、ずっと一緒に研修受けてるから 自然に仲良くなるって感じですかね。 > もっかいどっかにアップしてやって下さい。 すんませんが、もうちょいデバッグしてから送ります。 どういうバグが残ってたのかも忘れてしまったので。 週末に仕上げる予定。 |
|
68userさん、お返事ありがとうございます。 >うちの GNU diff-2.7 では、-b オプションで >お望みの動作をしているようです ぼくが使ってるやつで-bオプションを使ってもゆうこときいてくれないです。 何か他の方法あれば教えてください。お願いします。 |
|
-y とか -B などはどうですか。なお、FreeBSD の diff では http://www.jp.FreeBSD.org/cgi/mroff.cgi?subdir=man&man=diff&dir=jpman-3.4.0%2Fman という意味です。ご自分の環境の diff のマニュアルを見て、 同じようなのを探して下さい。 なお、SunOS などに付いてくる低機能な diff じゃ無理かもしれません。 あとは perl などで最後の改行を削除してから diff、くらいしか 思い付きませんねぇ。 |
|
68userさんへ お返事ありがとうございます。 ぼくの使っているSunOS環境のdiffではダメなようですね。トホホ。 どうやら末尾のスペースまたはタブしか無視してくれないようです。 perlもつかえる環境ではないのです。仕事先なのでインストールもできないです。 またいろいろとチャレンジしてみます。 ありがとうございました。 |
|
65userさんへ お返事ありがとうございます。 いろいろ調べてみたのですが、SPARC と INTEL を間違えていたみたいです。 間違えてINTELをダウンロードしてしまったみたいです・・・・ bash-2.03-sol7-sparc-local.gzを展開したら bash-2.03-sol7-sparc-localになってこれは展開できてるんですよね でもその後にどうやってインストールしていいかわかりません。 お願いします 教えてください。 |
|
> でもその後にどうやってインストールしていいかわかりません。 http://hiroyuki.oresama.org/tech/solaris/install.solaris.html など。僕は package から入れたことがないので、詳しいことは わかりません。 > ぼくの使っているSunOS環境のdiffではダメなようですね。 GNU の diffutils を入れるのは? SunOS のコマンドは 貧弱すぎて、僕はほとんど使ってないです。 |
|
>へにかさんのが これより高機能なら公開して下さいね。 僕のproxyは、 1) 1st-proxy.plに対し、 a) sysreadの返値をdefinedでチェックするところ、 b) フィルタをかけられるようにしたところ、 c) 環境変数を配列に貯えたるところ、 以外は、あまり変わらないところ、 2)68userさんが示された、2nd-proxy.plの不具合の内容に対するような 観点ではチェックしていない(というか、僕が遊べる程度でしかチェック していない)ところ、 という事で、まだまだ公開できるレベルではないです。 すいません・・・ |
|
疑問が何点かあります。 アスキー形式ファイルとは具体的に言えばどういう事なのでしょうか。 それと、中間ファイル、圧縮形式、プロッタ言語の意味がわかりません。 どうか、お教え下さい。困っています。 よろしくお願い致します。 |
|
何の話かわからないです。CAD ですか? > プロッタ言語 HPGL とかのこと? プロッタに座標 (10,20-200,300) の 直線を書かせるには (HPGL を解するプロッタならば) PD10,20;PA200,300; (だったっけな?) という文字列を送れば、 あとはプロッタが適切に解釈して線を引いてくれるってこと。 アスキーと圧縮形式はコンピュータ一般の用語ですが、 CAD 界ではどうなのか知りませんので何とも言えません。 中間ファイルは CAD の処理系依存でしょう。多分。 なお、僕は CAD を全く知りません。 > 週末に仕上げる予定。 すまんす。仕上りませんでした>has |
|
SFCのドラクエ3ですが、 最後のゾーマにあえません。 のぼっても、もぼっても、くだっても、くだってもおなじ階段とかって、 関係あります???? |
|
こんにちは。cgi-mlの記事を見て、このサイトの存在を知りました。 大変参考になります。 ところで、 http://x68000.startshop.co.jp/~68user/net/pop3-2.html に書かれている「Linux や Solaris の /etc/services には……」の部分で、 手元のSolaris2.5.1(x86)及びFreeSolaris7(x86)、Linux(Slackware,Plamo/98)を調べてみましたが、 pop3 110/tcp の記述になっていました。 Solaris2.5.1はわかりませんが、他の環境は私がデフォルト設定でそうなっているのを確認しましたので、 間違いないと思います。 68userさんが見られた設定は、管理者が書き換えたものではないでしょうか? |
|
> Solaris2.5.1(x86)及びFreeSolaris7(x86)、Linux(Slackware,Plamo/98)を > 調べてみましたが、pop3 110/tcp の記述になっていました。 情報どうもです。僕が調べたのは Solaris 2.5.1 と 2.6 だったかなぁ? Linux はバージョンはおろか、ディストリビューション名さえ覚えていません。 # NIS で Solaris2.3 から services を引っ張っていた可能性もあるなぁ…。 > 管理者が書き換えたものではないでしょうか? 片方の Solaris は わかっている人が管理してたから書き換えるような ことはしないと思うし、もう一方の Solaris は素人が管理してたから 多分書き換えるようなことはしないと思いますが、既に確認できないです。 どなたか、この辺の情報をお持ちでないですか? 「うちの Solaris も pop3 110/tcp」だった、と言っていただければ、その記述は削除しておきます。 |
|
> # NIS で Solaris2.3 から services を引っ張っていた可能性もあるなぁ…。 古いSolaris(2.5.1も十分古いか?(^^;)だと、pop-3とかで書いてある 可能性が高いですね。pop2だと、以下の記述になってます。 Solaris2.5.1(x86) /etc/services pop-2 109/tcp # Post Office Solaris7(x86) /etc/services #pop2 109/tcp pop-2 # Post Office Protocol - V2 #pop-2 109/tcp # Post Office (あ、さすがに7まで来るとコメントアウトになってる<デフォルト) ということで、Solaris2.3からそのままservicesをもってきている場合は、pop-3の 記述であるのも頷けますね。 |
|
ただいまWAPのペ−ジを作成していますが、どうも文字のエンコ−ドがうまくいかずいきづまっています。 誰か助けてください。 |
|
> ただいまWAPのペ−ジを作成していますが、どうも文字のエンコ−ドがうまくいかずいきづまっています。 > 誰か助けてください。 環境がどうなのか全く分からないので、的外れかもしれませんが、 HDMLの文字コードに関する問題ならば、 http://www.houshinji.org/hdml.html のサイトが参考になるかもしれません。 |
|
> Solaris2.3からそのままservicesをもってきている場合は、 > pop-3の記述であるのも頷けますね。 では、次回更新時に「古い Solaris (おそらく Solaris 2.3 あたり) では、pop-3 となっている可能性があります。最近のものだと 大丈夫でしょう。」としておきます。 そういえば、あのときの Linux は…Netboy さんのとこだったかなぁ。 確認しておこう。 |
|
Netboy さんに聞いてきました。 http://www.lunartecs.ne.jp/~segabito/cgi/bbs/minibbs.cgi debian 系が pop-3 なのではないか、だそうです。 # Linux ってのは Slackware/Redhat/debian 系の3本柱があるんですよね? # で、Vine は debian 系…? |
|
失礼します. >Vine は debian 系…? いえ,Redhat系です. 設定ファイル作成部分のみDebian系の(古めの?)スクリプトを元に 独自のものを用意した...のかな,という感じです. インストーラは配色がいい感じの独自のものでした. Linux関連で'pop-3'になっているものは,どこか当時の Debianの香がする,ということだけ判りました. 今のDebian(2.2?)は判りません. おじゃましました〜. |
|
どうもです。 というわけで、やはり pop-3 な環境もあるようだ、ということを 追記しておきます。 |
|
68user様 こんにちは。 以前お世話になりました薩摩です。 その節はありがとうございました。 実は、68user様のecho-serverプログラムを参考にしまして ローカルで動くftpproxyを作ったのですが、echo-server プログラムにftp処理をくっつけただけのプログラムになって しまいまして、知り合いに配布しようかと考えているのですが、 CGIの引用は自由とは書いてありましたが、これは許可を 取らなくてはと思い、書き込みをしました次第です。 配布してもよろしいでしょうか? |
|
無償配布ならば (メディア代などは受け取っていいです)、 プログラムの再配布・改変はご自由にどうぞ。 ちゃんと決めないといた方がいいかなぁ。とりあえず GNU の 精神を尊重して、GPL チックに扱っていただけると うれしいです (いいかげんだなぁ)。 |
|
テステス。曜日を直したつもり。すいませんが、また cookie が クリアされてるかもしれません。 |
|
68user様 配布の許可ありがとうございます。 GNUの精神を尊重して、GPLチックに扱わせていただきます。 これからGNUとGPLを調べなきゃ。 本当にありがとうございました。 |
|
お久しぶりです。 前回、公開しないと言ってしまいましたが、virtual host対応にして、外部フィルタを 使用できるようにしたので、公開したいかと存じます(実はヘブライ語が表示できたので、 嬉しくって嬉しくって仕方が無い←68user様のおかげです、ありがとうございます)。 現在、 http://henika.virutalave.net/japanese/proxy.htm で、仮公開(どこからも linkしていない)しています。 正式な公開(linkを僕のサイトから張る)に先立ち、説明の書き方等で問題があるか どうか、是非ともご確認して頂きたいと存じます。お手数ですが、宜しくお願い 致します。いつになるか分かりませんが、同じような文面で、他言語にも翻訳しようかな、 とも、もくろんでいます。 因みに、 1)正規表現が分かってない and/or 恥ずかしいなぁ。 2)よっくもまぁ、ここまで支離滅裂に改造したなぁ。 3)たまに再起動しないと、clientからの新しいrequestを受け付けてくれない。 4)clientからのrequestが増えると、clientはrequestした状態で停止したように なってしまうらしく、proxyのlogを見ると、clientからrequestされているはずの URIがrequestされていない(Netscape Navigator 4.04[ja]で確認)。 5)変数名を短く、しかも4tabにしました。 6)日本語で掲示板に書き込む際には、その掲示板がjcode.plなどで日本語を処理して いないと、文字化けする可能性がある(だから、先ほどview-script.cgiで中身を確認 しようとしたのですが、失敗したので、やむをえず、MSIEで書き込んでいます)。 という、特徴があります。 追伸: 68user様の掲示板、cookieはクリアされてないみたいです。 あと、曜日は、以前のbugがあったままのほうが、嬉しいです・・・ |
|
タイプミスしました。 誤 : やむをえず、MSIEで ↓ 正 : やむをえず、proxyを経由しないで すみません・・・ |
|
すいません、ちょっとお聞きしたいのですが、viの設定はどこでどのように すればよいのですか?今の設定では画面の半分くらいまでしか文字が表示さ れないのですが。 ちなみにテラタームでそのマシンにつなぎに行ってます。 |
|
>68users様 以前配布の許可について質問させていただきました薩摩です。 このたびホームページを開設したしましたので、 展示しているスクリプトについてご意見を伺えると 幸いです。 よろしくお願いします。 http://koten.hypermart.net/ |
|
> 正式な公開(linkを僕のサイトから張る)に先立ち、説明の書き方等で問題があるか > どうか、是非ともご確認して頂きたいと存じます。 別に問題ないです (特に確認を求める必要はないですよ。念のため)。 時間がないので、すいませんがスクリプトは読んでません。 > http://koten.hypermart.net/ うちの NN4.61 で見ると、何も表示されないです。 > 今の設定では画面の半分くらいまでしか文字が > 表示されないのですが。 環境変数 TERM で何とかなりませんか。env TERM=cons25 vi とか env TERM=VT100 vi とか。あるいは TeraTerm の設定かも しれませんが、使ってないので詳しくはわかりません。 |
|
68user様; どうもありがとうございます。では、近日中に公開いたします。 ハリー様; ウィンドウサイズの縦が50行くらいで半分くらいになっているなら、 以下の方法がよいかもしれません。うまくいかなかったらすみません。 Setup->Terminalで、開いた画面で、 Terminal sizeのTerm size=win sizeのチェックボックスにチェック すると、うまくいきませんか? 因みに、Tera Term Pro version 2.3です。 僕は、これでうまくいっています(環境変数は特に設定していなかった ような気がします)。 |
|
>68users様 大変申し訳ございません。僕はIE5を使っているのですが、 見れていたので問題ないと思っていました。 自分自身の未熟さを知りました。すみません。 少し手直しをしたのですが、見れますでしょうか? http://koten.hypermart.net/ |
|
> 少し手直しをしたのですが、見れますでしょうか? 見られました。 個人的な意見ですが、串や鯖などの言葉は好きになれません。 もちろん薩摩さんのページですので、どういう言葉を使うかは 薩摩さんの自由なんですが。 # スクリプト自体に関する感想でなくてすいません。 |
|
トップページの 他では役に立たないスクリプト&ファイル が全て 500 エラーで見られないんです。 申しわけありませんが直して頂ければ... |
|
68user様 >見られました。 ありがとうございます。 >個人的な意見ですが、串や鯖などの言葉は好きになれません。 >もちろん薩摩さんのページですので、どういう言葉を使うかは >薩摩さんの自由なんですが。 いえいえ、私の方こそ気分を害させてしまいまして、すみませんでした。 本来ならば、来ていただけるだけでも光栄でしたのに、 このようなことになってしまい、私も反省しています。 こういった言葉を使うことがあまりよくないということが わかりました。勉強になりました。 ># スクリプト自体に関する感想でなくてすいません。 言葉の方も、手直しいたしましたので、今度来ていただける 機会がありましたときにお願いします。 それまで僕も精進して少しでも68user様に追いつけるように なりたいです。 本当にありがとうございました。そして、すみませんでした。 |
|
> トップページの 他では役に立たないスクリプト&ファイル が全て > 500 エラーで見られないんです。 ご報告ありがとうございます。直しました。 |
|
はじめまして。 いつも参考にさせていただいています。 いきなりな質問でなんなんですが、私は現在PerlでのWebオートパイロット スクリプトを開発中でして、ちょっとお聞きしたいことがあります。 作業ディレクトリが./として、ダウンロードしてきたファイルを ./dir/fileに保存しようとしたとき、open(FH, ">./dir/file") ではdieしてしまうんです。 原因は./dirが無いからだ、というのは分かるんですが、ではその都度 mkdirしていかないとだめなんでしょうか? このmkdirも当方の環境がWindowsのせいかうまくいきません。 `md dir`とかは汎用性が著しく無くなるので避けたいです。 打開策があるなら是非ご教示ください。 上でも少し触れましたが、当方の環境はWindows98+ActivePerlです。 |
|
> ではその都度 mkdirしていかないとだめなんでしょうか? そうです。 > このmkdirも当方の環境がWindowsのせいかうまくいきません。 Windows で mkdir が失敗するとは初耳ですが、本当でしょうか? どういう風に書いてるんですか? # Windows + perl の環境がないので試せませんが。 それはそれとして、perl5 なら深い階層のディレクトリを 一発で mkdir してくれる File::Path という標準モジュールが あります。詳しくは perldoc File::Path で。 |
|
> Windows で mkdir が失敗するとは初耳ですが、本当でしょうか? > どういう風に書いてるんですか? 申し訳ありません、気を取り直してもう一度試してみるとうまくいきました(^^; と言うかmkdirで失敗する現象が再現しません。 またWindowsのファジーさにやられた気がする・・・ お騒がせしました。 一応、 mkdir "./dir", 0604; と言う感じで書いてます。 以前はエラーメッセージは出ないものの、ディレクトリが作成されていない と言うような状況でした。 > それはそれとして、perl5 なら深い階層のディレクトリを > 一発で mkdir してくれる File::Path という標準モジュールが おぉ、見てみます。 ありがとうございます。 と、言うわけで、失礼しました。 |
|
先日はジンソクな対応ありがとうございました。 grep について質問なのですが、analog で apache のログを解析するとき /member/ 以下が邪魔なので grep などにて `/member/' の文字が入った行を 取り除きたいのです。が、マヌアルを見てもそれらしきオプションが見当たりません。 もしなにか方法があったら教えてくださいませ。 |
|
grep -v /member/ filename でいいですか? |
|
> grep -v /member/ filename あ〜〜〜〜できましたわぁ〜〜感謝感激 よく読んでなかったですね… ありがとうございましたー |
|
はじめまして。 「他では役に立たないスクリプト&ファイル」のうち、 nslookup.cgiは、他の方のものと比べ複数入力が可能な点でいいなと思い、 何とかこちらの環境でも使えるように試行錯誤したのですが、 結果表示の際に「ホスト名」「IPアドレス」と表示されるべき部分が、 うまく表示できません(ナカグロ=黒点になる→文字化け?)。 実質的な実りの部分は全然問題ないのですが。 ソース中、put_data のサブルチに渡している引数だと思いますが、 $desc のローカル変数部分の文字化けが絡むのでしょうか。 Windowsの環境でメモ帳などでつくるため、nkfのオプションは -s に しました。nkfより遅いと言われる jcode.pl も試しましたが不発でした。 あるいはやり方(書き方)が間違っているのでしょうか、 何かアドバイスをいただければ幸いです。 |
|
> 結果表示の際に「ホスト名」「IPアドレス」と表示されるべき > 部分が、うまく表示できません 余計な部分をどんどんコメントアウトしていって、 実質 print "ホスト名\nIPアドレス" だけのスクリプトに しても化けますか? またヘッダを Content-type: text/html; charset=Shift_JIS Content-type: text/html; charset=ISO-2022-JP などと出力して、ブラウザに明示的に文字コードを伝えても ダメですか? それでもダメならソースそのものを見せて下さい。 # どこかにそのまま置いてもらえると、文字コードなどが # わかるので調べやすいです。 > $desc のローカル変数部分の文字化けが絡むのでしょうか。 ということはないと思います。 > Windowsの環境でメモ帳などでつくるため、nkfのオプションは > -s にしました。 nkf は、CGI の出力を JIS にするために使っているだけです。 ・スクリプトを SJIS にして、出力も SJIS ・スクリプトを EUC にして、出力も EUC などという場合は、nkf は不要です。 |
|
はじめまして、yujiといいます。 たびたび参考にさせていただいています。(^^) アクセス状況チェックでは、1時間おきに更新されていますが、 これは、どのようにして定期的にプログラムを 実行させているのでしょうか? サーバー上では、cronが利用できると思うのですが、 プロバイダのほうで提供されてたりするのでしょうか。 それとも他のサーバー上で実行されているのでしょうか。 あと、linux上でPerlを書いているのですが、 LANカードとPPP接続を行った場合に、gethostbyname, inet_ntoa(inet_aton())のどちらを使ってもLANカードの アドレスが取得されてしまうのですが、 PPP接続のアドレスを取得する方法というのは、なにか ありますでしょうか? ifconfigでpppの部分だけ切り出そうかとも思ったのですが、 exec('ifconfig''); の出力をどうやって拾うのかがわかりません。(^^; なにかアドバイスなどありましたら、どうぞよろしくお願いします。 |