>>2037 68user >> エラーがなければCに入るのは通常「100」ですよね? >'d' の character code は 100 なので、100 でも 'd' でも動作は >同じですけど、可読性やメンテナンス性を考えて 'd' と書きましょう。 そうなんですか。すいません、'd'で大丈夫だとは知りませんでした。 >> どうもどこかでループにはまっているようで、ファイルの取得ができま >>せん。 >できる限り余分な部分を削ったソースを見せて下さい。 いえ、前回のcの型の変更以外の変更は行っていません。 それでできないのですが・・・ |
>68useさん すいません。プログラムのほうしか見てませんでした。 |
お礼です。 「ネットワークプログラミングの基礎知識」を参考にさせて頂きました。 とても分かりやすく私にとって大変役に立ちました。 自分はDOSやWindowsのアプリ、ドライバを作ることが主な仕事ですが この度、サーバ側のプログラムを作ることになり、こちらのHPを参考に させていただきました。 特に「ネットワークプログラミングの基礎知識」と「簡易版コマンド マニュアル」内のcrontabを読ませていただき、大いに参考になりました。 普段はC(ドライバ作成用)とDelphi(クライアント側アプリ作成用) を使っていますが、こちらでPerlの使い方までも教えてもらいました。 ただただお礼を言うばかりです。 素晴らしいHPを提供してくださって、こころから感謝申し上げます。 有り難うございました。 |
>>2038 snow > いえ、前回のcの型の変更以外の変更は行っていません。 > それでできないのですが・・・ 動かないというのは、 http://X68000.startshop.co.jp/~68user/net/c-ftp-1.html の ftp-client.c ですか? コマンドラインからは何とタイプしましたか? % ./ftp-client -d anonymous your@mail.address ftp.jp.FreeBSD.org /pub/FreeBSD/README.TXT のように -d を付けるとデバッグ情報が表示されますが、どこで 止まっていますか? もし NAT 環境で試しておられるなら、 --> PORT 192,168,0,7,9,58 <-- 500 Illegal PORT range rejected. などとプライベート IP アドレスを送ってしまい、エラーと なります。しかしこのプログラムではエラーチェックを行って いないので、構わず RETR を送ってしまいうためファイルを 取得できません。この点は説明を付けておくべきでしたね。 getopt の件は修正しておきました。ご指摘ありがとうございました。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/ftp-client.c >>2039 ED というわけで、しばらくお待ち下さい。 >>2040 Moo どもども。わかりにくい点がありましたら ご指摘お願いします。 |
>>2041 68user > この点は説明を付けておくべきでしたね。 NAT 環境では動かない旨、追加しました。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/c-ftp-1.html.diff?r1=1.1&r2=1.2&f=h |
>>1691 紅の猫 >>2023 rosegarden http-client, http-client-2 のバッファオーバーランの修正と、 bzero,bcopy の説明の追加を行いました。ご指摘ありがとうございました。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/http-client.c http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/c-http-1.html |
このようなことでもアドバイスもらえるのかな? えっと、CGIでHTMLの一部(5行目から7行目)までとかをログとして取得し、その部分を出力することはできるんでしょうか? |
>>2044 幸江 質問の意味がわからないです。 > HTMLの一部(5行目から7行目)までとかを この HTML はどこにあるんですか? どこかから取得するんですか? > ログとして取得し、その部分を出力 「ログとして取得」とはどういう意味でしょうか? HTML から 特定の範囲を切り出し、ブラウザ上に出力し、さらにそれを ログに記録しておくのですか? |
>>2041 68user 以下のようにコマンドを打ったところ、 ./ftp-client -d userid passwd hogehoge.com index.html 以下のようなデバッグ情報が出力されました。(一部文字化けしてますが) <-- 220-************************************************ <-- 220- 洩T[o[韃ヲ虧 誉芒鋤天B <-- 220-OS ・indows98SE 費 怒莉(19)髟・・ 房-- 220 ************************************************ --> USER userid <-- 331 Give me your password --> PASS passwd <-- 530 Not authorized. --> PORT 172,18,168,100,4,19 <-- 5--> RETR index.html で止まってしまいました。 NAT環境では使用していないので、ご指摘いただいた問題はないと思います。 |
あと、今確認したところUSER,PASS,PORTというファイルが残ってました。 下の書き込みで文字化け対象を記入してしまって、申し訳ありません。 |
>>2046 snow > --> PASS passwd > <-- 530 Not authorized. ということは、ユーザ名かパスワードが間違ってませんか? >>2047 snow > 今確認したところUSER,PASS,PORTというファイルが残ってました。 「--> PASS」というのを誤って copy & paste してしまったんじゃ ないでしょうか。このプログラムにはファイルを生成するコードは 入っていないです。 |
>質問の意味がわからないです ごめんなさい。 >> HTMLの一部(5行目から7行目)までとかを >この HTML はどこにあるんですか? どこかから取得するんですか? HTMLはYahoo!のトップなどです。 >> ログとして取得し、その部分を出力 >「ログとして取得」とはどういう意味でしょうか? HTML から >特定の範囲を切り出し、ブラウザ上に出力し、さらにそれを >ログに記録しておくのですか? そのようにしたいのですが可能なのでしょうか? |
>>2048 68user 再度実行したところ、USER,PASS,PORTは出てきませんでしたので、 私の間違いだったようです。すいません。 >> --> PASS passwd >> <-- 530 Not authorized. >ということは、ユーザ名かパスワードが間違ってませんか? 間違ってないんですが・・・(汗 普通にftpコマンドで繋げるとちゃんとつながりますし。 なぜでしょう。。。 下では書きませんでしたが、パスワードをacerolaとしているのですが、 どうもパスワードでNGになっているようです。 なぜだかわかりますでしょうか? |
すいません、追記です。 どうしてパスワードでNGになったかわかったかと言うと、 サーバー側のログを見て、パスワードでNGになっていることを確認 しております。 |
>>2049 幸江 > HTMLはYahoo!のトップなどです。 可能です。HTTP をしゃべりたいなら http://X68000.startshop.co.jp/~68user/net/ を参考に自分でダウンローダを作るか、wget、fetch、lynx などの ダウンローダを使うとよいでしょう。 例として Yahoo! を出しているのならよいのですが、もし他人の ページの一部を持ってこようとしておられるなら、相手の許可を 得てからにしましょう。 >>2050 snow > 普通にftpコマンドで繋げるとちゃんとつながりますし。 なるほど。 o ftp コマンドではログインできる o -d オプションによるデバッグ表示を見ても、正しいパスワードを 送信しているように見える o パスワードには * や ? などの文字は含まれていない (シェルがワイルドカードを解釈しているわけではない) ということですね。謎です。 ftp コマンドで debug モードを ON にしてみると何かわかりませんか? % ftp ftp> debug Debugging on (debug=1). ftp> open hostname Connected to hostname 220 hostname FTP server (Version 6.00LS) ready. Name (hostname:username): username ---> USER username 331 Password required for username. Password: ---> PASS password などと表示されると思います (ftp クライアントによっては、 PASS **** などと何を送っているか見せてくれないかも しれませんが)。 また、認証までなら telnet でもできますので、試してみて下さい。 % telnet hostname 21 Connected to hostname. Escape character is '^]'. 220 hostname FTP server (Version 6.00LS) ready. USER username 331 Password required for username. PASS password |
お世話になっています。本当、UNIXの部屋を良く、使っています。 ところで、コマンドを自分のUNIX環境で有効にするには、どうしたら いいですか?使えないコマンドがたくさんあるのですが・・・ぜひ、 教えて下さい。先輩に聞いたら、いろいろと設定しなければならない とかで・・・詳しくは、教えて貰えませんでした。どうぞ、教えて 下さい。 |
>>2053 ゆうすけ 回答を出しやすくするために、 - OS は何か (uname -a の結果) - 例えばどんなコマンドが使えないか を挙げて下さい。 |
早速の返答ありがとうございます。uname -aの結果は、 SunOS std2ss42 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-5_10と出て来ました。 コマンドは、ジャンル別検索のゲーム(rainなど、他にもたくさん)です。 よろしく、お願いします。 |
フラットヘッド型スキャナについての機能と仕組みはなんですか?フラットヘッド型スキャナの製品の一例を紹介してください。また工夫されている点を解説してください。 |
ネットワークプログラミングの初心者です。今、仕事で始めたばかりなのですが、inet_atonを使う場合のライブラリは、何を指定すればいいのでしょうか?-lnsl -lsocketではダメなようで。。。教えていただけると、大変たすかります。よろしくお願いします。 |
>>2057 たかし > inet_atonを使う場合のライブラリは、何を指定すればいいのでしょうか? > -lnsl -lsocketではダメなようで。。。 こういう場合には OS とそのバージョンを書かないと無意味です。 inet_aton はない場合もあるので、inet_addr でも使って下さい。 例えば、Solaris 2.5.1 には inet_aton はありませんでした。 (でも、inet_ntoa はあるけど…。) 詳しいことは man inet_addr してください。 #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char *argv[]) { printf("%x\n", inet_addr("192.168.0.1")); return 0; } |
>>2052 68user 回答遅れてすいません。 >ftp コマンドで debug モードを ON にしてみると何かわかりませんか? passwdの部分がXXXXになってしまい、よくわかりません。 それに、ftpコマンドは通常どおり通るので、プログラムでどこが正常で ないのかはちょっとわかりません。 再度プログラムをダウンロードしてトライしてみます。 |
>>2055 ゆうすけ > uname -aの結果は、SunOS std2ss42 5.6 Solaris2.6 ですね。「UNIX の部屋」は基本的に FreeBSD に ついて書いてますので、Solaris にないコマンドはいっぱいあります。 基本的にインストールしたいものがあれば、ソースを持ってきて 自分でコンパイルします。ソースのありかは http://ftpsearch.lycos.com/?form=medium で調べるとよいでしょう。例えば foo-1.1.tar.gz を取得したら % gzip -dc foo-1.1.tar.gz | tar zxvf - で展開し、 % cd foo-1.1 % ./configure % make % make install という流れになります (これほど簡単にはいかない場合がほとんどですが)。 また、sunsite というコンパイル済みのものを配布している ところがありますが、あまり数は多くないです。 http://sunsite.sut.ac.jp/sun/solaris-binaries/sparc/ >>2058 rosegarden > Solaris 2.5.1 には inet_aton はありませんでした。 Solaris2.6 にも Solaris7 にも inet_aton はありませんでした。 >>2010 もっち https でのアクセスは実現できましたか? 結果報告をお待ちして おります。 |
いつもお世話になっております。 今度はSMTPについての質問なのですが…… SMTPサーバに接続した後最初にクライアント側で行うことは、HELO(またはEHLO) を送ることですよね。でも、なぜこういうことをするようRFCで定められている のでしょうか?これがなければ生じる不具合はどういったものが考えられるので しょうか?「SMTP EHLO 解説」をキーワードにしてGoogleで検索しましたが、 決定的なものが見つかりませんでした…。他に「オライリー・ジャパン」から 出版されている「Sendmail システム管理」なる本も読みましたが、なんかこの 部分だけ意図的に説明を避けているみたいで… (^^;; 何とぞよろしくお願いします。 |
>>2061 skel.103M とりあえずこちらを。 http://djbdns.jp.qmail.org/djb/smtp.html 知りませんでしたが、envelope がクリアされるらしいですね。 |
>>2061 skel.103M > SMTPサーバに接続した後最初にクライアント側で行うことは、 > HELO(またはEHLO)を送ることですよね。 とは限りません。うちなんかだと次のようしても メールが送れるようになっています。 % telnet mail 25 Trying xxx.xxx.xxx.xxx... Connected to mail.hogehoge.co.jp. Escape character is '^]'. 220 mail.hogehoge.co.jp ESMTP Postfix MAIL from:<rosegarden@hogehoge.co.jp> 250 Ok RCPT TO:<rosegarden@isp.net.ne.jp> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> This is a test. . 250 Ok: queued as 9CEF017A4A quit 221 Bye Connection closed by foreign host. > でも、なぜこういうことをするようRFCで定められている > のでしょうか? RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD とかいう表現はありませんね。 それから、sendmail の operation guide をみると PrivacyOptions の項に public Allow open access needmailhelo Insist on HELO or EHLO command before MAIL needexpnhelo Insist on HELO or EHLO command before EXPN noexpn Disallow EXPN entirely, implies noverb. needvrfyhelo Insist on HELO or EHLO command before VRFY とあるので、このことからも、HELO や EHLO をどうするかには 任意性があるように思えます。 Postfix でも main.cf.default をみると smtpd_helo_required = no なんていう設定項目があります。 ということは、設定の際に任意性があるわけです。 おそらく、デフォルトでインストールすれば、HELO なしで 通る場合が多いでしょう。 |
>>2062 68user > とりあえずこちらを。 > http://djbdns.jp.qmail.org/djb/smtp.html > 知りませんでしたが、envelope がクリアされるらしいですね。 失礼しました。蛇足の書き込み申し訳ありません。 |
「ネットワークプログラミングの基礎知識」 http://X68000.startshop.co.jp/~68user/net/ に「SSL でアクセスしてみよう」 http://X68000.startshop.co.jp/~68user/net/ssl.html を追加しました。 サンプルソースがほとんど http://stingray.sfc.keio.ac.jp/security/ssl/ssl.html のパクリというのが情けない…。 |
ときに、UNIX+Java+Java servlet+JDBC+Postgres+ XML+XSLT な解説って需要ありますか? 書きたくはあるけれど、普通の ISP では Java servlet なんて 使えないだろうなぁ…。 |
どうも、skel.103Mです。 素早いフォローありがとうございます。>68user様・rosegarden様 >>2063 rosegarden > > でも、なぜこういうことをするようRFCで定められている > > のでしょうか? > > RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD > とかいう表現はありませんね。 RFC2821には MUST や SHOULD なる表現があります。RFC2821の 4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO)の第2段落にある以下の記述が これに該当すると思います: > A client SMTP SHOULD start an SMTP session by issuing the EHLO > command. & > In any event, a > client MUST issue HELO or EHLO before starting a mail transaction. RFC2821はRFC821を破棄したわけですから、クライアントによるHELO(また はEHLO)コマンドの発行が新しく*必須*となったと考えてよいと思われ ます。その理由っていったい何なんでしょう??私にはさっぱり想像 できないんですけど……。そこで、 >>2062 68user > とりあえずこちらを。 > http://djbdns.jp.qmail.org/djb/smtp.html を見てみましたが、これによると、「サーバ 実装者には HELOなしの世 界への将来の転換をサポートするように、 クライアント が HELOを省略 させるようにしむけることを推奨します。」という記述があるんです けど。…これってHELO(またはEHLO)の存在意義はないと言ってるよう にとれるんですけど……私だけ? (^^;;; > 知りませんでしたが、envelope がクリアされるらしいですね。 ご紹介いただいたWebページはqmailの実装をもとにして記述されたもの のようですが、RFC2821にはそれを示唆する部分は見つけられませんでし た。 う〜む…… |
>>2067 skel.103M > > > でも、なぜこういうことをするようRFCで定められている > > > のでしょうか? > > > > RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD > > とかいう表現はありませんね。 > RFC2821には MUST や SHOULD なる表現があります。RFC2821の > 4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO)の第2段落にある以> 下の記述が > これに該当すると思います: なるほど、おっしゃる通りです。 私は 3.2 を見ていました。 かえって勉強になりました。ありがとうございます。 |
はじめまして。 いつも勉強させていただいています。 質問なのですが、 UNIXでファイルのバージョンを管理するコマンド(TOOL!?)って デフォルトであるのでしょうか? ちなみに、 # $Id: echo-server-select.pl,v 1.1 2001/04/21 18:56:41 68user Exp $ ↑は、どのようにやっているのでしょうか? (※勝手に引用させてもらいすいません。) |
>>2067 skel.103M うーむ、私のレベルではちょっとついていけませんです。無念。 >>2069 @km > UNIXでファイルのバージョンを管理するコマンド(TOOL!?)って > デフォルトであるのでしょうか? UNIX と言ってもいろいろあります。何をお使いですか? # 上の「使い方」のところにも書いてあるように、OS やバージョンを # 必ず書いて下さい。 無料で利用できるものならば、RCS と CVS があります (SCCS はよく知らない のでパス。今でも現役なのかしら)。FreeBSD, NetBSD, OpenBSD なら両方デフォ ルトで入っています。Solaris なら両方ともデフォルトでは用意されていませ ん (当然ですがインストールすれば使えます)。Linux はわかりません。 両者の特徴はこのページをどうぞ。 http://www2.noritz.co.jp/anchor/ashp/peggy/cvs/cvs_rcs.html このサイトのコンテンツは CVS で管理しています。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/ http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi.diff?r1=1.1&r2=1.2&f=h のように、ファイルの修正履歴が残ること、変更点を容易に把握できること、 ネットワーク経由でアクセスできることが利点です。 > $Id: echo-server-select.pl,v 1.1 2001/04/21 18:56:41 68user Exp $ > ↑は、どのようにやっているのでしょうか? $Id:$ という文字列を埋め込んでおけば、勝手にバージョンや更新時刻や更新 者名が埋め込まれます。この機能は CVS, RCS 両方に備わっています。 CVS については書籍も4冊ほど出ていますし、解説しているサイトもたくさん ありますので、興味があれば google などで検索してみて下さい。 |
>>2070 68user > >>2067 skel.103M > うーむ、私のレベルではちょっとついていけませんです。無念。 68user様が >>2062 68user で紹介されていたサイトは http://www.google.com/search?as_q=SMTP&num=10&btnG=Google+%8C%9F%8D%F5&as_epq=&as_oq=HELO+EHLO&as_eq=&lr=lang_ja&as_occt=any&as_dt=i&as_sitesearch= などでヒットしたサイトのうち最初に出てきたものですよね。上記検索 結果の4つ目付近にある http://spica.u-aizu.ac.jp/study/material/2000-10-17/neo-study3.pdf の7ページ目には次のように書かれていました: 「sender-SMTPとreceiver-SMTPを識別するためのコマンド」 …これは正しいのでしょうか? これに関する質問は今回限りということで何とぞよろしくお願いします。 m(__)m |
どなたかご存じでしたら教えて下さい。 当方、Cygwin on Win95 な環境で Wanderlust on XEmacs として mail 環境を 構築しています。 今回、更に fetchmail & Maildrop を使用して、mail を local に取り込もうと しています。 Maildrop で local spool に取り込み、Wanderlust で読むとすれば、Maildir 形式になるかと思い、試行錯誤の上、何とか Maildir 形式で取り込めたのですが、 Wanderlust で読み込む段になって困ってしまいました。 Maildir 形式だと、new/ -> cur/ の mail 移動を行う際に、path にl `:' を 含めてしまうんですね。 Windwos では、path に `:' を含めることが出来ないため、ここから先に進む ことが出来ません。 どなたかこの様な状況を解決された方はいらっしゃいませんでしょうか。 |
はじめまして、いつも参考にさせてもらっております。 どなたかご存知でしたら教えてください。 指定ディレクトリ以下のファイルで、ディレクトリのみ表示する ことは可能ですか? ちなみにla -dでは出来ませんでした。 |
>>2073 harap find <DIR> -type d で可能だと思います。詳細は「man find」で。 |
>>2074 skel.103M ありがとうございました。 うまくできました。 |
たびたびすいません。 現在Cシェルにてプログラムを作成中なのですが echoで表示している文字列にカラー設定することは可能でしょうか? |
>>2071 skel.103M > 「sender-SMTPとreceiver-SMTPを識別するためのコマンド」 > …これは正しいのでしょうか? ん〜、HELO で envelope がクリアされるなら、中継サーバは HELO をしゃべっちゃいけないので、結果として識別できるの かなぁとは思うのですが…。どうなんでしょう。 >>2076 harap > echoで表示している文字列にカラー設定することは可能でしょうか? 端末に依存しますが、可能です。 perl -e 'print "\x1b[31m"' (赤) perl -e 'print "\x1b[32m"' (緑) perl -e 'print "\x1b[30m"' (黒) などなど。kterm や TeraTerm などならこれで OK でしょう。 echo ^[[32m でもいいです (^[ の部分は直接 ESC 文字を打ち込みます。tcsh 上なら C-v ESC、emacs 上なら C-q ESC)。 perl -e 'print "\x1b[31mhoge\x1b[32mfuga\x1b[30m"' などと続けて書いてもいいです。 # 他にコントロールコードを直接出力できるコマンドって # ありましたっけ? (stty とか tset の方面で) google で「エスケープシーケンスード ESC 色」などで検索して みて下さい。 >>2072 Ten うーむ、Windows でメールを読まないので…。 |
>>2077 68user ありがとうございました。 お礼が遅くなってすいませんでした。 やってみます。 |
はじめまして。 最近UNIX-CでNetwork Programmingを始めた者です。よろしくお願いします。 こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。 read_line()の戻り値が [0 or 1] なので、 94行目で、文字列が1文字だけになってしまいます。 read_line()の戻り値を [0 or 文字数] に修正すればよいと思います。 私の勘違いでしたらすみません(^^; |
>>2079 るは ありがとうございます。テスト不足で失礼しました。修正しておきます。 最初はちゃんと動いていた気がするんだけど、いつエンバグしたのかなぁ? |
いつもお世話になってるskel.103Mです。 >>1978 skel.103M >>1980 68user >>1981 skel.103M このことについて、news:fj.mailに記事が投稿されているのを(今さらなが ら)発見!: Message-ID: <tzzlmmezl9x.fsf@nightmare.hm.taito.co.jp> …投稿日は2001/06/27(水)となってますね。 |
はじめまして。 perlを勉強中の者です。 いきなりで恐縮ですが、質問です。 perlのIO::SOCKETモジュールを使ったhttpクライアントを作っているのですが 画像を読み込めないんです。ちなみに、htmlはうまくいっています。 今作っている物では、他サーバーからファイルを読みとり 自分のサーバーに保存という作業をやらせたいんです。 しかし、画像ファイルを読み込むと改行が不要な位置に 改行入ってしまいます。 画像も読み込めるようにするにはどう作りかえたら良いのでしょうか? ソース http://uchu.hypermart.net/image.txt |
>>2082 猫じゃらし ちゃんと環境を書きましょう。Windows ですか? 1. ヘッダもそのまま 2.gif に出力してしまう。 2. 改行が入ってしまうなら、Windows でテキストモードになっているのかも。 ということで、 # ヘッダまでを読み飛ばす while (<$remote>){ last if ( $_ eq "\n" || $_ eq "\r\n" ); } # ここからが画像データ while (<$remote>){ $outdata .= $_; } open(OUT, "> 2.gif"); binmode(OUT); print OUT "$outdata"; close(OUT); でどうでしょう。 foreach を使わず while を使うのは、foreach の () 内はリストを要求する ので、<$remote> はリストコンテキストで評価され、 foreach ("1行目のデータ", "2行目のデータ", ..., "最終行のデータ"){ と展開されてしまうからです。よって、 foreach (<$remote>){ last if ( $_ eq "\n" || $_ eq "\r\n" ); } の時点でファイルハンドル <$remote> から全てのデータを読み 切ってしまうので、last で抜けた後には <$remote> という ファイルハンドルにはデータが残っていません。 foreach (scalar(<$remote>)){ で強制的にスカラーコンテキストにするならいいんですが、 この場合は素直に while を使った方がよいでしょう。 |
>>68user 環境を書き忘れてすいません、マナー違反でしたね、、、 ちなみに、環境はWinMEでActivePerlを動かしている状態です。 さて、68userさんのレスにあったものをペーストして ソースは下のようになりました。 http://uchu.hypermart.net/image2.txt これで無事動かすことができました。ありがとうございます。 このHPは、これからも勉強参考にさせてもらいますね。 ではでは、、 |
はじめまして超初心者の者です。 質問なのですけど会社で渡されたCシェルのプログラムに mailx -s というコマンドがありまして調べても見つかりません。 UNIXのことなどさっぱり分からないので困っています。 知っている人がいたら教えてください。 お願いします。m(__)m |
>>2085 kazu ちゃんと OS 名やバージョンなどの情報を書きましょう。 > mailx -s mailx は SystemV 系 UNIX のコマンドです。Linux にも あるようですが、*BSD にはないはずです (FreeBSD なら ports で mail/mailx がありますが)。 まぁメールの送信だけなら mail も mailx も同じようなもの なので、そのまま mail に読み変えればよいでしょう。 |
はじめまして。早速なんですが、UNIXの運用について質問があります。ログインユーザーごとに使用したい文字コードが違うんですが、どのように設定したらよいのでしょうか?教えてください。 |
>>2087 sato.k ログインユーザごとに ~/.cshrc や ~/.profile で setenv LANG ja_JP.eucJP とか LANG=ja_JP.eucJP; export LANG とか書くか、/etc/profile や /etc/csh.cshrc でユーザ名をみて 適切な locale を設定するのはどうでしょうか。 具体的な locale 名や、/etc/ の下のファイル名などは OS によって違いがあるので、お使いのシステムではどうなって いるか確認して下さい。 FreeBSD なら /etc/login.conf に各ロケール分のログイン クラスを作るのもいいかな。 |
>>2079 るは > こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を > そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。 遅くなりましたが、さきほど直しました。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/echo-server-1.c ご指摘ありがとうございました。 |
UNIX の部屋をやっと CVS に突っ込みました。悲願達成。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/unix/ これで思う存分更新ができます。 - コンテンツをローカルでも修正し、web サーバでも修正して、 どっちが最新版かわからなくなる - 前回から更新した部分はどこだったろうか? と忘れてしまう という経験がある方は、CVS で管理してみてはどうでしょうか。 僕はもう CVS なしでは生きていけません。 なお、普通は http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/ のように cvsweb でリポジトリ公開なんてことはしません (笑) 公開しなくても CVS で管理できます。 |
>> こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を >> そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。 >遅くなりましたが、さきほど直しました。 \nの所に\0を書き込んでる気がします。 |
#2091 >\nの所に\0を書き込んでる気がします。 よく見たら、そんなこと有りませんでした。 訂正します。 |
かなりどうでもいい話題なんですが、UNIX の部屋の検索で一件もヒットしな かったキーワードを調べてみました。対象は 2001 年。括弧内は検索回数。 なんとなく現在足りない情報がわかって興味深かったです。 今後の参考にさせていただきます。 Solaris or SystemV 系 … 特に管理系がいまいち弱くて申し訳ない。 useradd(541) sar(378) ufsdump(161) pkgadd(146) mailx(145) dbx(95) groupadd(88) usermod(74) ufsrestore(60) usradd(55) nawk(54) userdel(54) pkginfo(54) vfstab(50) sjtoeuc(40) こんなのふつー載ってるだろ系 … なるべく早く書きます ssh(242) expr(172) scp(149) a2ps(108) iconv(95) chroot(57) pushd(52) ulimit(49) slogin(39) rcs(38) bz2(36) Windows の用語をそのまま打ち込んだ系? rename(171) mv のところに「Win で言うところの rename」と書いておけばよい? tracert(36) traceroute のところに「Win で言うところの tracert」と書いておけばよい? tree(46) これは find かなぁ。 68user の弱い方面系 … 申し訳ない。満足な解説書けません。 lpr(328) arp(194) cpio(177) iostat(102) rsync(79) バックアップ(73) lpq(64) プリンタ(58) restore(56) mkfs(55) mknod(54) こんなの検索するんだ… sccs(53) プリント(50) lpstat(43) snmp(39) パーティション(39) これ何? 系 … 誰か教えて。 snoop(161) ipcs(112) fdisk(90) filec(66) ndd(43) showrev(52) ipconfig(53) ioscan(51) mpstat(44) substr(45) perl? 入力が不適切系 … 全角アルファベットはないのですよ。半角に自動置換しようかしら。 ls(196) ユーザー(166) ユーザならあるんですけど 解凍(150) 展開で統一してます。改善予定 ftp(127) cp(106) ln(90) ps(85) rm(54) リダイレクション(49) その後「リダイレクト」で検索してくれただろうか df(48) クーロン(43) これは改善予定 mv(40) csh(35) その他: select(91) bdf(88) atol(85) ファイル検索(70) logger(68) 需要あるのかなぁ。 pdf(63) ファイル名変更(54) flock(54) htpasswd(53) うーん samba(43) jar(42) なぜ jar が gateway(41) access(36) ちなみに検索にヒットしたキーワードのトップ20はこちら (リンクを たどったものは除く。訪問者が入力したキーワードのみ)。 tar(7512) grep(3832) find(3219) ftp(2502) ls(2490) vi(2370) cp(2215) ps(1799) rm(1773) chmod(1677) gzip(1528) cron(1511) ln(1368) mount(1352) crontab(1330) sed(1257) make(1188) awk(1150) mail(1034) date(1047) |
>>2093 68user 『誰か教えて』の意味勘違いしているかもしれませんが…。 > これ何? 系…誰か教えて。 > snoop(161) Solaris 標準コマンド tcpdump のような用途で使う Sniffer ですね。 > filec(66) > ndd(43) Solaris 標準コマンド。主に、TCP/IP 関係のデバイス 制御に使います。たとえば、TCP ヘッダのシーケンス番号 の生成法もこれで変えられたかとおもいます。 FreeBSD の sysctl に似た感じで使います(不正確ですが)。 > showrev(52) Solaris の標準コマンド。pkg 管理用です。 showrev -p なんてすると、どんなパッチが当たっているかが わかります。 > ipconfig(53) これは多分 win のコマンドじゃないかな? ifconfig に似た感じの情報を表示します。 このコマンドを ifconfig みたいにインタフェースの 変更用に使えないんでしょうか? 試したけど、うまくいかなかった。 > mpstat(44) これは Solaris で man mpstat したら出てきましたよ。 |
>>2094 rosegarden >> filec(66) おっと、これは消し忘れていました。これは無視してください。 |
いつもお世話になっているので、少しでも協力できれば… >>2093 68user > fdisk(90) これって、Linux系だけなのですか? パーティーションテーブルを操作するコマンドですが… >>2094 rosegarden > ipconfig(53) >変更用に使えないんでしょうか? 表示だけみたいですね。 「Win系はあくまでGUIなんでCUIインターフェースツールは、ホント におまけ」みたいなポリシーのようです。 てか、あまり役に立ってなさそう…とほほ ところで「UNIX の部屋」は、管理者向けの意味合いが大きいのでしょ うか?それとも一般向け?>68userさん |
>>2096 スナフキン > > fdisk(90) > これって、Linux系だけなのですか? > パーティーションテーブルを操作するコマンドですが… *BSD 系の OS ならあると思います。少なくとも、 FreeBSD/i386, OpenBSD/i386, NetBSD/i386 ならあります。 Solaris も x86 系のならあるかと思います。 今見たところ、SPARC 用の Solaris でも マニュアルはインストールされていますね。 > >>2094 rosegarden > > ipconfig(53) > >変更用に使えないんでしょうか? > 表示だけみたいですね。 そうですか、いや、自分のやり方が悪かったかと、 思っていたのですが、そういう仕様なんですね。 ありがとうございました。 >>2093 68user それから、いま man したら ipcs は Solaris にはあるようですね。 |
IPアドレスとホスト名の説明中にある文章に関して >しかしその逆の、FQDN はあるが IP アドレスはない、というマシンは >存在しません。 ネットワークに接続されている全てのマシンには IP >アドレスが付けられています。 FQDNはあってもIPアドレスがないマシンは存在します。UUCP接続の場合 にはネットワークに接続されていないのでIPアドレスを割当てる必要が ないからです。 |
>これ何? 系 … 誰か教えて。 > ioscan(51) HP-UXで使いますね。cd-romの装置番号を調べたり、周辺機器の SCSI IDを調べたりするときに使いました。 参考: http://www.calpoly.edu/cgi-bin/man-cgi?ioscan |
>>2094 rosegarden > 『誰か教えて』の意味勘違いしているかもしれませんが…。 いえ、そういう意味です。みなさまどうもありがとうございます。 >>2096 スナフキン > ところで「UNIX の部屋」は、管理者向けの意味合いが大きいのでしょ > うか?それとも一般向け? 両方です。大学などの UNIX ならともかく、PC-UNIX では利用者=管理者な場 合がほとんどでしょうから、両方の知識を身に付ける必要があると思います。 >>2098 whois > UUCP接続の場合にはネットワークに接続されていないのでIPアドレスを > 割当てる必要がないからです。 なるほど。しかし、 UUCP はメール・ニューズ限定のプロトコルである。UUCP の上には HTTP も POP も載せることができない。つまり、UUCP はトランス ポート層・ネットワーク層に相当し、TCP/IP とは並列関係にある。 http://X68000.startshop.co.jp/~68user/net/net-1.html は、TCP/IP の初歩を解説しているページなので、そこで UUCP に 言及することは混乱を招く。 と思うのですが、いかがでしょうか。UUCP は使ったことも設定したこともな いので、間違っていたら指摘お願いします。 |
>>2100 68user >UUCP はメール・ニューズ限定のプロトコルである。 現状はその通りなのですが、名前の通りファイルの転送も出来ます。 以前IIJでAnonymous UUCPでファイルの配布がされていたことが ありました。1分30円だったかな。 「インターネットに接続されている全ての」ではなく、 「TCP/IPでインターネットに接続され…」であればとりあえず 矛盾は無くなりますが、ちょっと分かりにくいですね。 |
皆さんはじめまして。実は今はじめてCGIをperlで作っていますが、フォームの内容を送信しようとすると以下のようなメッセージが出てきます。 このメッセージを出すことなくメールへの送信は可能でしょうか? よろしくお願いします。 Sending C:\WINNT\blt9F.tmp to xxxx@xxx.ne.jp Subject:XXXXX Login name is info@xxxxx.com |
>>2097 rosegarden >そうですか、いや、自分のやり方が悪かったかと、 >思っていたのですが、そういう仕様なんですね。 いえ、仕様だと言い切るとまた語弊がありそうなんで濁しておきます(笑) 自分の場合は、あまりにも使えないコンソールなんで、Cygwin使ってます。 でも、うまく設定が出来ないんでDOSと半々かな(^^; >>2100 68user >両方の知識を身に付ける必要があると思います。 確かにそうですねぇ。自分はGUIは滅多に立ち上げずに殆どCUIのみで 利用していますが、最近の雑誌を見るとGUI上前提の記事が多いので、 実際にWindowsのような使われ方をしている人の比率は多いのかなぁ? あ、もちろん複数の環境が有る場合ですが… >>2102 よしあき Windows環境でsendmail互換のMTAをperlから利用していると想定して ですが… 多分そのsendmail互換のアプリが出しているメッセージなので、その 部分に以下のような記述をすれば回避できると思います。 (ん?コレはブラットJってやつかな?) 実際の記述部分が判らないので予想で書きますが、 1. open(MAIL, "sendmail 〜 コマンド |"); 2. open(MAIL, "sendmail 〜 コマンド > nul"); 「1」コマンドの標準出力を受け取るので、エラーチェックなどを検知する事もできます。 「2」標準出力を強制的にブラックホールに捨てます。 また、質問する時はもう少し詳しく環境とかを書きましょう。 |
初めまして。最近CGIの勉強を始めました。(^^) 今まで、フリーで配布されているCGIの改造をしたことは あったのですが、自分で最初から書けるようになりたいと思っています。 わからないことがあるたびに、本を読んだり、インターネットで検索するのですが 68userさんのページが一番詳しく、わたしの知りたいことが書いてありました。 ありがとうございました。crypt関数とか、半角カナ・機種依存文字問題とか うまくいかなくて、いきづまっていたので、大変参考になりました。 (日本語特有の問題は、翻訳本にはほとんどでてこないし (^^;) これからUNIXのことも勉強したいと思っています。 これからもどうぞよろしくお願いします。 |
Perl一般の質問ですみません。 さいきん Word が作った RTF をパースしないといけないハメになったんですが、 VBA はツライので Perl でやろうと思っています。 RTF::Parserというのを見つけてインストールはうまくいったんですが、 ドキュメントがまったくなく、お手上げです。 (TODO: Write a document とか書いてあるのがだいぶ前なので、 投げたのかも、、) どなたか使い方をご存知の方、リンクだけでもご存知の方教えてくださいませんか? あと、他に Perl で RTF をパースした経験がある方、 「やめたほうがいい」という結論に達した方などなど、 この問題に情報がある方はお寄せください。 また、RTF の規格についてわかりやすく書いているリンクなども、、。 あと、あまりにもこの件が掲示板の趣旨を逸脱するようでしたら すみません、ツッコんでください。(^^; スナフキンさん> Cygwin 最高ですよね! 割り切って使うには最高です。 これと Meadow のおかげでやっと Windows と友達になれました。 ところで、1.1 をお使いですよね? なぜか B20 ベースの解説サイトやソフトが多いのですが、 B20 にくらべて 1.1 は超超超超安定してていい感じです。 わたしはここでお世話になった技術で Apache をコンパイルして CGI のテストも Windows でしてます!(^o^) |
Solaris 2.6 で、Sun Workshop 4.2 を使用しています。 事情により境界整列を全く行なわせない指定をしたいので、 $ cc -flags (snip) >-misalign 境界整列していないデータのロード/ストアを可能にするコードを生成 を指定しているのですが、意図した様な動作が得られません。 また、 >#program align foo, var と指定してもダメです。 どうすれば良いのか御存知の方、いらっしゃいますか? |
>>2106 ten >#program align foo, var とりあえず program じゃなくて pragma でしょう。あと、試して ませんが書き方が怪しいのではないかと思います。こちらを参考に。 http://docs.sun.com/htmlcoll/coll.674.1/euc-jp/CUG/accOptions.html#1407 >>2105 ふくし > また、RTF の規格についてわかりやすく書いているリンクなども、、。 Rich Text Format は Microsoft が作った規格なので、Microsoft に 仕様書が存在するはずなのですが、見付けられませんでした。もしかしたら 今は別の団体が管理しているのかもしれません。 |
こんちは、お初です。最近Perlはじめました。 ほかの言語はからっきし使えません(TT関西弁ならいけるけど。。。 で、Perlのプログラミングで質問させてもらいます。 テキストファイルで、↓こういうかんじ name age year -------------------------- CCIE 22 2001 みたいな感じのテキストがあって、そこから3行目だけを出力させたいのと この場合だと22だけを取り出したいっていう2つのことがどうすれば いいか今格闘中です。 たぶん正規表現かなーっとおもって オライリーの正規表現見てますがさっぱりで・・・(^^;) どなたか助言よろしくお願いしますm(__)m |
>>2108 CCIE > 3行目だけを出力させたい 自分で何行読んだかを数えます。 $line = 1; open(IN, "file"); while (<IN>){ if ( $line == 3 ){ print "これが 3行目の内容です: $_"; } $line++; } > 22だけを取り出したい $_ に "CCIE 22 2001\n" が入っている状態で、 ($name, $age, $year) = split(/\s+/, $_); とすれば $age に '22' が入ります。 \s は空白・タブを表し、\s+ は1文字以上連続した空白・タブを表しますので、 $_ を1文字以上連続した空白・タブで分割し、それぞれのフィールドを $name、$age、$year に代入 という意味になります。 あるいは ($name, $age, $year) =~ m/^(.*)\s+(\d+)\s+(\d+)$/; という方法もあります。^ は行頭、\d は数字、$ は行末を表し、 括弧でくくった部分がそれぞれ $name、$age、$year に代入されます。 |
>>2109 68user > ($name, $age, $year) =~ m/^(.*)\s+(\d+)\s+(\d+)$/; 余計なような足りないような… ($name, $age, $year) = m/^(.*)\s+(\d+)\s+(\d+)$/; 若しくは ($name, $age, $year) = $_ =~ m/^(.*)\s+(\d+)\s+(\d+)$/; では無いでしょうか? |
早々の返事ありがとうございますm(__)m 参考に勉強させてもらいます. みなさんすごいですね.ってこういうのでつまづいているのは僕だけかな(TT いまから,↓の$や()や\や+がごちゃごちゃしたものをゆっくり理解していきたいとおもいます. 実は今,これでいうと22の部分をTkのGIFgraphで表現しようと思ってるんです. テキストファイルが定期的に書きかえられるのでグラフ化したいと思って. それで,いま撃沈しているところを聞かせていただいたんです. 出きるだけ御迷惑をかけないように自分で努力したいと思いますが,また質問してしまうと思うのでそのときはよろしくお願いします. |
はじめまして。68userさんのページはとても勉強になります。時間があったら、全文を熟読したいと思います。(そんな時間ないかもしれませんが。) それにしても、毎回いろいろな人からの質問に応えることのできる知識に、 少し圧倒されました。自分はまだまだ未熟者です。今後どーしてもわからないことがあったら、質問するかもしれませんので、そのときは、どうかよろしくお願いします。 |
ふと思ったのですが、CGIへPOSTメソッドでデータを送信した時に そのCGIでデータを受け無い時(readしない場合)って、そのデータは どうなるのでしょう? CGIで、最近流行りのバッファーオーバーフロー対策?として、POST データサイズを予め調べてから、read で読み込むようにしようと 考えましたが、このような場合は、サーバーOS/ソフト側でバッファ に一旦溜まるのでしょうか? それとも、CGIが受け取らない限りOS/ソフト側でデータそのものを 受け取らないのでしょうか? 試しに自環境にあるApacheに、アップロード機能付きの掲示板CGIを 使って約80Mbを送信してみましたが、cgi-lib.pl のエラー?でCGIは 停止したらしく、ps コマンドを見ると、zonbi となっていたため、 httpdがタイムアウト処理?をして切断された結果(だと思う)、ブラウザに 「cgi-lib.pl: Request to receive toomuch data: 84400432 bytes」と 表示され切断されたように見えました。 そして、その状態まで送信は止まらずにブラウザは送信を続けていました。 top や free で送信中のメモリの状態を観察していても変化がなかった 事から、CGIが受け取らないと捨てられてしまうようにも見えますが、 ちゃんと試験が出来ていたのか、自信が無いので正確な所は不明です。 結局、CGIでPOSTデータを受け取らなくても(プロセスが死んでいた為) ブラウザ自身は送信を続けていたので、どの時点で(OSかApache)データ を破棄しているのかは判断できませんでした。 そもそもCGI側でオーバーフローを気にしなくても良いならば、それでいい のですが、どうも動作が判りません。 #それとも実装依存なのかな? |
>>2110 /tk > 余計なような足りないような… 確かに。補足どうもです。 >>2112 moz > 質問するかもしれませんので、そのときは、どうか > よろしくお願いします。 ぜひ回答する側にもまわって下さい :-) >>2113 スナフキン > そのCGIでデータを受け無い時(readしない場合)って、そのデータは > どうなるのでしょう? 実装依存です。TCP 的に言えば、相手側がプロセスが read してくれないと相 手側の OS のバッファにたまります。それがいっぱいになったら書き込み側が ブロックします。つまり print SOCKET "...."; を実行したままずっと止まってしまうということです。 ちゃんと調べたわけではありませんが、一般的にPOST データを全部受け取っ て CGI に渡す web サーバが 多いような印象を受けます。あくまで印象なの で、試したわけではありません。 もし int sock; bind(...); listen(...); sock = accept(...); ... ヘッダ読み込み ... if ( fork() == 0 ){ char *args[]={"/home/user/public_html/cgi-bin/foo.cgi", NULL}; dup2(sock, 0); execvp("cgi", args); } else { int status; wait(&status); } のように、直接ソケットを CGI プロセスの標準入力に渡すような 実装ならば、CGI プロセスが read しないと書き込み側がブロック するわけですね。 apache の実装がどうなっているかわかったら僕にも教えて下さい。 |
>>2114 68user なんかいろいろとアレなので、書き直し。 int sock; int pipes[2]; bind(...); listen(...); sock = accept(...); ... ヘッダ読み込み ... pipe(pipes); if ( fork() == 0 ){ char *args[]={"cgi", NULL}; dup2(sock, 0); dup2(pipes[1], 1); execvp("/home/user/public_html/cgi-bin/foo.cgi", args); } else { char buf[256]; int len; int status; while ( len=read(pipes[0], buf, sizeof(buf) ){ write(sock, buf, len); } wait(&status); } ソケットのデータを CGI プロセスの標準入力に渡し、 CGI プロセスの標準出力を受け取り、そのままブラウザに 返す web サーバもどきです。 |
こんにちは。又お邪魔させてもらいました(^^;) この前はありがとうございます。うまくできました\(^o^)/ 今回は、Perl/Tkなんですがアドバイスよろしくお願いします。m(__)m リストはこんな感じなんですが・・・ use Tk; $mw = MainWindow->new; $mw->title("gifgraph"); $can = $mw->Canvas(-width=400, |
すみません↓ tabで形をそろえようとしたら送信のところにいっちゃってenterおしちゃいました(^^;; ヒヤアセ で、リストは use Tk; $mw = MainWindow->new; $mw->title("gifgraph"); $can = $mw->Canvas(-width=>400, -height=>300) -pack(); for(;;){ $gif = $mw->Photo(-format=>'gif', -file=>"graph.gif"); $can->createImage(200,150,-image=>$gif); $mw->after(4000); } 画像が更新されるのでfor文で何度も画像を読みこませたいんですが、ウィジェットすら開かないんです。for文をはずせば今ある画像が表示されるんですが、なぜなんでしょうか? |
>>2117 CCIE Perl/Tk は久しくやってないので忘れてしまいましたが、 $can->createImage(200,150,-image=>$gif); $mw->after(4000, \&change_image); MailLoop; exit; sub change_image { $gif が変わっていたら $can をいじる } じゃないですかね。 |
参考にさせていただきました。 少し手を加えてなんとか表示できました。それで、 GDモジュールとGIFgraphモジュールでgifを作って for(;;){ ・・・・・・ } の中に入れたんですが $my_graph=new GIFgraph::lines(); ・・・・・ 見たいな感じでGIFgraphを定義させました。 for文の外にこう言う定義は書いたらいいんですが、このモジュールの仕様?(バグ)で中に入れてどんどん作らないと更新されないんで中に書きました。 でもそうすると何度も定義するのでメモリがどんどん食われていくんです。メモリの制御を除いてもメモリが増えていってました。 前に定義したものが残っているのでそれを破棄するってことはできるんでしょうか? |
>>2115 68user そうですか実装依存ですか。それが判っただけでもOKです。 ありがとうございます。 perl側では、あまり意味がないという事になりますかね。 しばらくApache関連の情報も探しましたが、今の所該当する 情報は見つかりません。 わざわざ例題(cですよね?)まで書いてもらいましたが、 よく判りませんでした。m(_ _)m cが解かればソースを見て何とかなるかもしれませんが、 まだ不勉強なので… 何か見つけたら報告します。 >>2105 ふくし >ところで、1.1 をお使いですよね? いえ、B20でした・・・って最近使っていないのがバレバレですが(笑) 自分は、DOS上では面倒な処理をする必要がある場合ぐらいしか 使ってません。普通は本物の環境で作業しています。 Cygwin でシンボリックリンクまで対応している事を知ったのも、 最近です(笑) |
すいませんヘルプです。 SUN SPARC ServerUitra5にモデムをつけようとして ttyポートを書き変えたらディスプレイが 見えなくなってしまいました。 モデムから入りエミュレータ−から見るととプロンプトのところに?<クエスチョンマーク>がでてこんな事になってます。 ok の後に ls−a をやって見ました。 ls -a f006cd5c SUNW,UltraSPARC-IIi@0,0 f005f2f8 pci@1f,0 f004cd88 virtual-memory f004c7a8 memory@0,10000000 f002ccf0 aliases f002cc80 options f002cb48 openprom f002cadc chosen f002ca6c packages ok ディスプレイを復活させるためには どうすれば良いのでしょうか? |
とっても今さらですが、 >>2119 CCIE > 前に定義したものが残っているのでそれを破棄するってことはできるんでしょうか? 最小限のスクリプトを見せてもらえればわかるかもしれません (し、わからないかもしれません)。 >>2121 木島 透 すいません、わかりませんです。 ところで、また UNIX の部屋のカウンタが壊れているなぁ。 http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/count/countup.pl?rev=HEAD&content-type=text/x-cvsweb-markup で怪しそうなところと言えば、 sub counter_increment { ... myopen(OUT,"> $countdir/count.$ARGV[0]") || exit; print OUT "$num\n"; close(OUT); } ここらへんでブラウザが中断されて SIGPIPE 受けた、くらいしか 思い付かない。 ちなみにこのサーバは行儀の悪いロボットのせいか、しょっちゅう file: table is full となります。この前は apache が落ちた形跡があるし。うーむ。 |
みなさん、はじめましてこんばんわ。 IPなど、とっても私にとっては難しい事なのですが、今困っていて、ここを探しました。 実はいつも行くHPの掲示板などに、荒らしがヒドイんです。 管理人さんは、海外にいるとか、何とかで・・・。管理されていないんですよね。元々は、すごく雰囲気がよくて、みんなが楽しめていた掲示板だったんですが・・・。荒らしが多すぎて、無視して、カキコミしてたら、ほんの数時間前にカキコミしたのが、消えてしまっている・・・その位、ひどいんです。 どうにか出来ないものでしょうか?記事の削除などは、管理人さんしか出来ないですよね?でも、管理人さんが管理をしないので・・・。 困ってしまって・・・。そしたら、IPで、拒否できるっていう情報を聞きました。それも、管理人さんじゃないと出来ない方法なのでしょうか? 無知すぎる自分も悪いんですが・・・一日も早く、荒らしがいない掲示板に戻ってほしいと思っています。なにか、いい方法があるかたは、教えていただきたいです。 長々と申し訳ありませんでした。 |
>>2123 マイ > 記事の削除などは、管理人さんしか出来ないですよね? そうです。第三者には出来ません。 > IPで、拒否できるっていう情報を聞きました。それも、管理人さん > じゃないと出来ない方法なのでしょうか? これも管理人が特定の IP アドレスを拒否するようにしないと いけません。 結局のところ、現在の掲示板をそのまま生かすなら、 ・管理人にちゃんと管理してくれ、と頼む ・管理人からパスワードを教えてもらうなどして、管理者の権限を譲り受ける (それを許さないようなプロバイダの規約があるかもしれませんので、ご注意あれ) のどちらかしかないでしょう。 IP アドレスの制限については、掲示板の形態がわからないと 何とも言えませんが、CGI プログラムを使っているのならば http://www2s.biglobe.ne.jp/~cru/library/zddbbs/zddbbs0.html が使えると思います。 |
みなさまはじめまして。 場違いな質問かもしれないのですが、 皆様ご親切なので質問させていただきます。 ただいま、当方、UNIXCにて、プログラムを作っております。 そこで、telnetやTeraTermを起動した時に ユーザID、パスワードの認証があると思うのですが、 それと同様のことを、Cのプログラムの中で行ないたいのです。 <例> ユーザ名を入力してください → USERA パスワードを入力してください → (キーボードを入力しているが出力されない) このような設定(記述)のしかたをご存知の方いらっしゃいますでしょうか? また、この時に入力されたフィールドをscanfで読み取ることは可能なのでしょうか? もし、ご存知な方がいらっしゃったら教えていただきたいです。 宜しくお願いいたします。 |
>>2125 RUB UNIX と言ってもいろいろあるので、ちゃんと環境を書きましょう。 以下、FreeBSD と仮定して説明しますが、Solaris でも同じはずです。 > パスワードを入力してください → (キーボードを入力しているが > 出力されない) http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/gen/getpass.c?rev=1.9 の getpass が参考になるでしょう。 要は、tcgetattr して、ECHO を落として (NOECHO にする)、 tcsetattr することで、tty ドライバの echo back を OFF にできます。より詳しい情報は termios(4) をどうぞ。 もっとお手軽にやりたいなら、 http://X68000.startshop.co.jp/~68user/net/ftp-5.html の stty の部分を読んでください。 |
お世話になります。 土田@アグレです。 今、ブラウザの変わりになるCOM++のDLL(つまりTCP/IPのブラウザプログラム) を作成しています。 HTTPサーバがWebLogic5.1なのですが、電文そのものはあっているのに、最初から 「HTTP 1.1 400」のエラーが帰ってきてしまいます。 ソケットのコネクションに問題があるのではと考えているのですが、わかりません。 どなたかお知恵を拝借させていただければ幸いです。 ちなみにコーディングは以下のとおりです。 int AuthSocket::connectAgent(SOCKET sock, long *iPort, long *iRetry, sockaddr *sockAddr) { struct sockaddr_in sockAddrIn; int res, i; memset(&sockAddrIn, 0x00, sizeof(struct sockaddr_in)); sockAddrIn.sin_family=AF_INET; sockAddrIn.sin_addr.s_addr=inet_addr("127.0.0.1"); sockAddrIn.sin_port=htons((unsigned short)*iPort); sockAddr=(struct sockaddr *)&sockAddrIn; res=ECCOM_SUCCESS; for (i=0; i<=*iRetry; i++) { if (SOCKET_ERROR==connect(sock, sockAddr, sizeof(struct sockaddr_in))) { res=ECCOM_FAILURE; } else { res=ECCOM_SUCCESS; break; } } return res; よろしくお願いします。} |
>>2127 つちだ > 電文そのものはあっているのに これはどうやって確かめましたか? 具体的に何を送っていますか? 400 Bad Request が返ってくるなら、やはりまずはリクエストを 疑うべきだと思います。 |
初めて投稿させていただきます。 突然の質問なのですが、SolarisでGNUを使わずに前日の日付を取得する方法というものはあるのでしょうか? |
>>2129 福助 env TZ=JST-15 date がお手軽でしょうか。 |
>>2130 68user 違った。env TZ=JST+15 date でした。 |
すいません、HTML で質問です。 charset ですが、 西ヨーロッパ語(ISO-8859-1)と 日本語(Shift_JIS 希望)を一枚の Web ページで共存できるでしょうか? 以下の方法はいずれもダメでした。 ・font face でフォント名を指定 ・meta タグを2個書く もしご存知でしたらご教示ください、、。 |
>>2132 ふくし http://henika.virtualave.net/untitled.htm みたいのでよければ、 http://www.ne.jp/asahi/minazuki/bakera/html/reference/charref (最後にスラッシュはつけない) を参考に、文字実体参照を使用すれば可能かと思います。 それ以外の方法は、unicodeぐらいでしょうか? |
>>2133 Mr. おおっ文字参照、忘れていました。ありがとうございます! (ちなみに IE6 では見えますが、NC4.75 では見れない、、) 結局 charset は仕様上ページ単位で混在させられない、 ということなんでしょうかねー。 |