> 具体的にいうと、getsocknameの使い方がmanでしらべても > よくわからなかったのです(泣) 僕も知りませんでしたが、昨日から調べていてやっとできました。 struct sockaddr_in local_socket; int len; long local_ip; len = sizeof(local_socket); if ( getsockname(socket,(struct sockaddr *)&local_socket,&len) < 0 ){ printf("getsockname failed.\n"); } local_ip = ntohl(local_socket.sin_addr.s_addr); printf("PORT %d,%d,%d,%d,%d,%d\n", (local_ip >> 24) & 0xff, (local_ip >> 16) & 0xff, (local_ip >> 8) & 0xff, (local_ip ) & 0xff, (ntohs(local_socket.sin_port) >> 8) & 0xff, (ntohs(local_socket.sin_port) ) & 0xff); # わかってから man を読むと、何が書いてあるか理解できるんだけどなぁ。 > あるいは、CでかかれたFTPクライアント FreeBSD あたりなら ftpコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/ftp/ fetchコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/fetch/ ftpライブラリ(fetchがリンクしている) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ などなど。FreeBSD 以外の環境でコンパイルしようとすると 苦労するでしょうから、ソースを読むだけにしておくのがいいでしょう。 今回参考にしたのは (結果的には丸写しになってしまったけど) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ftpio.c?rev=1.33 です。 > CDプレイヤーを立ち上げるとerorrと出てきます。 > mountの設定なのでしょうか? mount は必要ないです。音楽CDを聞くには、 「CD-ROMドライブに何曲目を鳴らせ」 という指令を送るだけで、後は CD-ROM ドライブが勝手にやってくれます。 で、お使いのプレイヤーの -device とか -d とかのオプションで、 CD-ROM ドライブのデバイスを指定できませんか? # FreeBSD なら xcdplayer -device /dev/wcd0c とか # xcdplayer -device /dev/cd0c ですけど、Linux は知りません。 |
サンプルも作ってみました。anonymous ftp で、 ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。 http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c レスポンスコードは見ていないし、バッファオーバーランはするし、 RFCに準拠していないし、ファイルがなかったらデッドロックするしで、 バグだらけですが、改造してみて下さい。 |
おお!どうもありがとうございます!>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です。 宜しくお願いします。 |