68user's page 掲示板

Prev< No. 556〜656> Next  [最新発言に戻る] [過去ログ一覧]
No. 556 # 九面で迷ってるオレ 1999/11/21 (日) 14:20
ジェダイナイト、9面のシークレットエリア誰か教えて下さい。

No. 557 # ムチなチュボ 1999/11/23 (火) 23:32
ネットワークプログラミングの基礎知識、凄いです。素晴らしいです。
私のような無知にでもできてしまってちょっと怖いです。
(ほとんど切り貼り状態なんですが・・)
FTPの項についてなんですが
「# FTPサーバに、子プロセスが待っているIPアドレスとポートの情報を渡す」
というのがありますよね。ftptras.plで初めて子プロセスは出てくるのでは。
それ以前の例示には「子プロセス」というコメントは必要無いのでは。
(ちょっとここで悩んでしまったので・・・。)

No. 558 # 68user 1999/11/23 (火) 23:51
> それ以前の例示には「子プロセス」というコメントは必要無いのでは。
どもども。ミスですね。直しておきます。

最初は fork しないと ftp クライアントは作れないと思ってました。
結局それは誤解だったので書き直したのですが、コメントの修正を
忘れてたようです。

# ftptrans で fork してるのも怪しい。ほんとに1プロセスで
# できないのかなぁ?

No. 559 # ムチなチュボー 1999/11/25 (木) 00:01
う〜〜ん。
ローカルのホスト名を得るにはどうすれば良いですか?
開いたSOCKETから手に入れる以外に適当な方法て無いですかしらん。
シェルコマンドは使わずにperlの関数だけで。

RFCの日本語訳ってほんと便利ですよね。感謝しながら読んでます。
PASVの返事て227だけみたいですね。あとは全部エラーみたい。
それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。
正規表現もむつかしいけど頑張ってるとこおろです。

No. 560 # 68user 1999/11/25 (木) 01:31
> ローカルのホスト名を得るにはどうすれば良いですか?
試してませんが、とりあえず
    http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja-2.html#ss2.24
    http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq9.html#How_do_I_find_out_my_hostname_do
ここらあたりでうまくいかないですか?

> あとは全部エラーみたい。
> それと(x,x,x,x,x,x)の「括弧」が付かない場合もあるようですね。
なるほど。ところで、こーゆーのがネットワークプログラムのヤな
ところですよね。相手があってのものだから「これで正しいかどうか」
「完璧かどうか」がわからないという。

あと、真面目に作って配布でもするつもりなら
    http://hp.vector.co.jp/authors/VA002682/rfc1123j.htm
も読んで下さい (もう読んでるかもしれませんが)。

# あと、data-connection の peer-port が 20(ftp-data) かどうかの
# チェックもね。

No. 561 # NET放浪人 1999/11/26 (金) 17:44
68USERさんの中で最も得意なプログラミング言語はなんですか?

No. 562 # 68user 1999/11/26 (金) 22:24
elisp です。

…ウソです。perl か C ですけど、人に誇れるほどの
レベルじゃないです。精進せねば。

No. 563 # ムチなチュボ〜 1999/11/28 (日) 00:50
色々ありがとうございました。

> 227だけみたい
たしかに一番上の桁だけ見ろってRFCに書いてありました。

perlて俺のような無知な初心者にも優しい言語ですね!
構文規則が緩いっていうんですか、括弧とか適当でいいし。
とりあえず構文と関数のリファレンスさえあればなんとなく
出来てしまう。ありがたいことです。
まあ…そのおかげかperl使いな人も俺のような駄目パーラから
超スゴイ人まで腐るほど沢山居るらしくてperlなんか今更
「多少」使えても何の自慢にもならないみたいなんですが…。

でもでもこれからもperlで遊ぶぜえ〜。
じゃあさよならあ〜。

No. 564 # 日向 1999/11/29 (月) 12:58
以前にPOSTに関して質問した者です。遅いレスですが…(^^;
どうやら、ソケットに送るPOST〜$messageは、
個別に送った場合、途中の\r\nにHTTPDが反応してしまうようです。
なので、$sendとか、適当な変数に全部繋げて代入し、
print SOCKET $send;
としなければならないようです。
HTTP/1.0を指定し、更にこの方法でやってみた所、POSTが成功しました。
ちなみに、HTTPバージョンを省略した場合は
HTTP/1.1とみなされるみたいです。(全部そうとは限らない…かな?)

No. 565 # 68user 1999/11/29 (月) 22:46
> HTTPバージョンを省略した場合は HTTP/1.1とみなされるみたいです。
省略すると HTTP/0.9 になります。0.9 では GET 以外使えませんし、
ヘッダも送れません。例えば
    GET /~foo/index.html
を送った時点で、サーバからレスポンスが返ってきます。なので、

> 途中の\r\nにHTTPDが反応してしまうようです。
これはそういうことじゃないでしょうか?

なお、HTTP 0.9 で
    POST /~foo/index.html
などとしようとすると、405 Method Not Allowed になるはずです。

No. 566 # 68user 1999/11/29 (月) 23:33
というわけで、
> $sendとか、適当な変数に全部繋げて代入し、
> print SOCKET $send; としなければならない
ということはあり得ないと思いますが、一応試してみたいので
よろしければその掲示板の URL を教えて下さい。

No. 567 # GAT 1999/11/30 (火) 07:38
おはようございます。

ネットワークプログラミングの基礎知識の
C言語でHTTPクライアントを作ってみよう(2)
ではperlと違いヘッダ部分が表示されてますよね?
あれを本体部だけ表示するようにするにはどうしたらいいんでしょう?
色々やってみましたがどうも上手くいかなくて…
「UNIXの場合」はfgets関数をソケット読み出しにも使えますけど
某Windowsは勝手が違うんです。。
# どーみてもUNIXの方がやりやすい
どんな感じかというのがhttp://www.nakka.com/inet/httpc.htmlの
赤系の色で
「/* サーバからデータを受信する処理 */」
とか書かれてる辺りです。
なんとなく見るとやりにくいのがわかるかと^^;;
どうすればいいでしょうか?
思いついたのでいいですからレスください。
どうもアイデアが・・・・

No. 568 # 68user 1999/11/30 (火) 14:25
    while (1){
        char buf[BUF_LEN];
        int read_size;
        static int body_flg = 0;
        char *p;

        read_size = read(s,buf,BUF_LEN);
        if ( read_size > 0 ){
            if ( body_flg ){
                p = buf;
            } else if ( p = strstr(buf,"\r\n\r\n") ){ /* 空行はあるか? */
                p+=4; /* \r\n\r\n の分先に進める */
                read_size -= p-buf; /* サイズ調整 */
                body_flg = 1;
            }
            if ( body_flg ){
                write(1,p,read_size);
            }
        } else {
            break;
        }
    }
こんな感じでどうでしょうか?

No. 569 # 68user 1999/11/30 (火) 15:29
あ、全然ダメじゃん。
> } else if ( p = strstr(buf,"\r\n\r\n") ){
buf は \0 で terminate されてないし、そもそも
\r\n\r\n が1回で読める保証はなくて、ちょうど
境界にまたがってるかもしれない。

ま、そこらへんはよしなに。

No. 570 # k 1999/11/30 (火) 17:35
pingコマンドでは、ホスト名を指定することによって、
そのホスト名(またはIPアドレス)との接続確認が
できます。
これと同様に、そのホスト名(またはIPアドレス)の
特定のポート番号に対して、接続確認を行いたいの
ですが、なにか良い方法ないでしょうか?

No. 571 # 68user 1999/12/01 (水) 00:33
実際に connect するのはダメなんですか?
それ以外の方法はないと思います。多分。

No. 572 # ミレニアム [E-mail] 1999/12/01 (水) 02:33
本サイトはたまにではありますが参考にさせていただいております。
私も何か投稿させていただきたいと考えておりましたが、プログラミングサークル“ミレニアム”を立ち上げましたのでご紹介をさせていただきたいと思います。掲示板の案件と直接関係ないと思われますが容赦願います。
ミレニアムはサークルという体質を生かして医療・福祉・教育の分野で高機能・低価格ビジネスアプリケーション構築を目的としたプログラミングサークルであります。
現在、メンバーは15名程度でホームページを建設中であり、現在CGI等の組める方、VB、VC++、Delphi、Java、HTML、DTP(デザイン)の得意な方を募集致しております。メンバーは現職のプログラマー、DTP構築者、家庭の主婦などいろいろな方で構成されております。
ミレニアムに参加する条件としては本人に常識と責任感と好奇心が必要でありその他は問われません。
興味がございましたらメールにてお返事お願いいたします。

失礼いたしました。解からないことがありましたら私も投稿させていただくかもしれませんのでよろしくお願いいたします

No. 573 # らんらん [E-mail] 1999/12/01 (水) 10:15
はじめまして、いつもHP見さしていただいてます 感謝
winsockを(c言語で)使ってチャットのプログラムを書いてみようと思ったんですけれど、マルチスレッドタイプのサーバーでクライアントにsend()する時(多分IPマルチキャストっ奴を使うと思うんですけど)のやり方について何か情報お持ちでないでしょうか?
接続されたクライアント全てに同報送信できるようにしたいんですけれど、よろしくお願いします。
後、勝手にHPにリンク張ってしまったんですけどよろしかったでしょうか?
まずいようだったら連絡下さい

No. 574 # 68user 1999/12/01 (水) 13:41
マルチキャストするなら、TCP じゃなくて UDP になると思いますが、
そこらへんの基礎知識はありますか? あと、IPv4 ではマルチキャストは
optional なんですが、大抵の OS には実装されてるのかしら?

で、僕も興味はありますが、そこらへんはまだ自分のものにしていないので、
説明できないです。

http://X68000.startshop.co.jp/~68user/net/link-book.html の
    「UNIX ネットワークプログラミング第2版 Vol.1」
にとっても詳しく書いてありますので、よかったら買ってみて下さい。
# 今説明しようとすると、この本の丸写しになってしまいますので。

> \r\n\r\n が1回で読める保証はなくて、
ここらへんのことについても、この本に詳しく書かれています。
要は1バイトずつ読めばいいんですが、毎回 read しては遅くなるので
先にバッファに読み込んだり、read しているときにシグナルが飛んできた
場合の EINTR などなど。

8000円出すだけで、5万円分くらいの知識が得られます。おすすめ。

> 勝手にHPにリンク張ってしまったんですけどよろしかったでしょうか?
どうぞ〜。

No. 575 # 日向 1999/12/01 (水) 16:10
>> $sendとか、適当な変数に全部繋げて代入し、
>> print SOCKET $send; としなければならない
>ということはあり得ない

確かにそうでした…$sendに全部代入するのと
HTTPバージョンを色々変えるのを同時に試してて混乱してたみたいです(汗)
というわけで、やっぱり繋げる必要はありませんでした。ハイ。
また、HTTPバージョン省略も0.9扱いになっているようでした。

でも省略すると0.9にされるというのはちょっと驚き。
これはサーバ側でそう設定している為ですよね…?という事は…
今時0.9なんて使わないし…1.0や1.1をデフォルト設定にしているサーバもあるんでしょうか?

No. 576 # 68user 1999/12/01 (水) 17:11
HTTP のバージョン省略時は 0.9 であると RFC で決まっています。
    http://X68000.startshop.co.jp/~68user/net/rfc.html
というより、「省略したもののみを 0.9 とみなす」と言った方が正しいかな。
GET /index.html HTTP/0.9 というリクエストはできないようなので。

No. 577 # らんらん 1999/12/02 (木) 12:32
返事ありがとうございます。
マルチキャストについてですが
winsock1,1ではoption扱いで正式サポートではなく
2,0ではサポートされてるようなんですが、いい情報がまだ得られていません。
もうちょっと調べて、うまくいったら報告します。
(今windowsでやってるんで68userさんはあまり興味ないかもしれませんが)

No. 578 # るん [E-mail] 1999/12/02 (木) 19:46
はじめまして。
「ネットワークプログラミングの基礎知識」読ませていただきました。
HTTPの初心者のため、大変勉強になりました。

この度proxyサーバを使って、URLを取ってくるシステムを開発しているのですが、うまく動作しません。
GETのレスポンスで、ヘッダでは「200 OK」が返ってきているのに、ヘッダしか取出せません。どんな原因が考えられるでしょうか。

環境は以下の通りです。
proxyサーバ:NetscapeProxyServer
取出すURLのあるサーバ:Apache 1.3.9

No. 579 # 68user 1999/12/03 (金) 02:50
> ヘッダしか取出せません。
    - どういうリクエストを送ったのか
    - 環境 (Windows など)
    - 何を実行したのか (telnet でやったとか perl で書いたとか)
    - どの URL を試しても同じ結果になるのか
    - 実際のコードは (perl と C 以外わかりませんけど)
などがわからないと何とも言えませんが、とりあえず telnet で
proxy サーバに繋げて、
    GET http://www.yahoo.co.jp/ HTTP/1.0
    Host: www.yahoo.co.jp
    (空行)
を試してみて下さい。

> (今windowsでやってるんで68userさんはあまり興味ないかもしれませんが)
最近はネットワークプログラミング自体に飽きてしまい、
3D にはまってたりします(^^;

ちょいと紹介しときますが、参考にしたのはこのサイトです。
とてもわかりやすく書かれているので、興味のある方はぜひ。
    http://www.cim.pe.u-tokyo.ac.jp/~mitani/Java/java3d/index.html

# 長年の夢であったポリゴンをぐりぐり回すのが実現できてうれしい。
# 今はテクスチャ貼ったりシェーディングかける方法を模索中…。
## ここらへんを解説してるサイトないかしら?

No. 580 # るん 1999/12/03 (金) 17:38
返事ありがとうございます。

> - どういうリクエストを送ったのか
> - 環境 (Windows など)
> - 何を実行したのか (telnet でやったとか perl で書いたとか)
> - どの URL を試しても同じ結果になるのか
> - 実際のコードは (perl と C 以外わかりませんけど)

環境:UNIX
言語:C言語でproxyサーバにはsocket通信でリクエストを送っています。
具体的には以下の内容をsendで送っています。
GET http://www.yahoo.co.jp/ HTTP/1.1
Host:www.yahoo.co.jp
(空行)

※proxyサーバが社内のマシンしかアクセスできない設定になっているので、
    実際にはwww.yahoo.co.jpの部分は社内のhost名を指定しています。

>> ヘッダしか取出せません。

この後、もうちょっと調べてみると、
一度目のrecvでレスポンスヘッダが送られてきて、
二度目のrecvでエンティティボディが取出されることがわかりました。
NetscapeProxyServerの仕様なのでしょうか。

あと、レスポンスヘッダ文字列の大文字小文字ですが、
本などでは"-"の後の文字は大文字なのですが、
上記の環境で行うと小文字になります。
(例)「Last-Modified」→「Last-modified」など。。。
これもNetscape Proxy Serverの仕様なのでしょうか。

御存知のことがあれば教えてください。

No. 581 # 68user 1999/12/03 (金) 18:15
> 一度目のrecvでレスポンスヘッダが送られてきて、
> 二度目のrecvでエンティティボディが取出されることがわかりました。
十分な量のバッファを用意して、十分なサイズを指定したからといって、
一度の recv で全てのデータを取り出せるという保証はありません。
これは read でも同じです。
    http://X68000.startshop.co.jp/~68user/net/c-open.html
の最後には
> もし指定したファイルの長さが 600 バイトなら、
>  1回目のループ: read_size == 256
>  2回目のループ: read_size == 256
>  3回目のループ: read_size == 88
>  4回目のループ: read_size == 0
と書きましたが、これは相手がファイルシステムだからであって、
ソケット経由だと、
    char buf[1000];
    read(socket,buf,sizeof(buf));
としても、
    1回目のread: read_size == 10
    2回目のread: read_size == 20
    3回目のread: read_size == 1
    4回目のread: read_size == 0
などとなる可能性があります (この例ではデータ量は31バイト)。

要は IP パケットが細切れに送られてきたとき、read(recv) すると
要求されたサイズのデータが届くまで待つのではなく、そのときまでに
受け取っているデータを返すわけです。例えば echo サーバで、
    $|=1;
    print(SOCKET,"a"); sleep(5);
    print(SOCKET,"b"); sleep(5);
    print(SOCKET,"c"); sleep(5);
とすると、細切れなデータが送られるわけです。

> (例)「Last-Modified」→「Last-modified」など。。。
Netscape Proxy Server がわざわざ変換しているのか、
WWW サーバがそういうヘッダを返すのかはわかりませんが、
規格上は大文字小文字は区別されません (RFC のどこかに書いてあるはず)。

Last-Modified/Last-modefied/LaSt-MODIfied は同じように
扱わないといけません。

ちょっと用事があり、今日の夜から数日間 返答できませんのでよろしく。

No. 582 # 68user 1999/12/03 (金) 18:40
> 一度の recv で全てのデータを取り出せるという保証はありません。
あ、これは
    read_size = recv(s,buf,sizeof(buf),0);
のことです。
    read_size = recv(s,buf,sizeof(buf),MSG_WAITALL);
なら、全データを待ちますので、recv は1回だけ実行すれば OK です。

ただし MSG_WAITALL を指定しても、シグナル受信・コネクション切断時は、
全データを待たずに recv から戻ります。

No. 583 # J.Naka [E-mail] 1999/12/08 (水) 11:55
ども、初めまして。とほほWWW−ラウンジから来ました。

「ネットワークプログラミングの基礎知識」が大変ためになります。
同様な事は書籍(ラクダ青本)にも書かれていますが、こちらがずっと解かりやすいです。
コンテンツ制作御苦労様です & 有り難う御座います。

------------------------------
    すっごく勉強になる解説のため、繰り返し読む事になるのですが、ベージ配色が、テキストが黒系統なく白系統であるため目が少々付かれます、またバックカラーとテキストの明暗が近寄っているのでこれも目に付かれる要因のような気がします。まっここいらは個人的嗜好の部分だと思います。
    そういう事で、バックカラーとテキストカラーの指定を外部スタイルシートで指定させようと思い、その為には取りあえずコンテンツの階層を含めてローカルにダウンし、その後ローカル内で階層を跨いだHTMLファイルの修正をPerlで行う事にしました。
    そういう事で、今、再帰的ディレクトリエントリサーチスクリプトを制作中です。。。。。

#いつも本題の前に、「あれやる、これやる」と時間がかかる私でした(笑)
#ところで、68userさんは、とほほラウンジでの「B-cus」さんと同一な方でしょうか?、、、まっいらぬ詮索の範疇なのですが(^^;

No. 584 # トロピカル 1999/12/08 (水) 17:15
cksumコマンドについて知りたいのですが、
��cksumコマンドはファイルに対してどういったチェックを行うで
    しょうか?
�■淡生譴�らcksumコマンドを実行かけた時に、正常に終了したか、
    もしくは、異常終了したかの判断は行えるのでしょうか?
    もし、行えるのであれば、詳細なエラー情報はどういったものが
    あるのでしょうか。

No. 585 # 68user 1999/12/08 (水) 19:39
> ベージ配色が、テキストが黒系統なく白系統であるため目が少々付かれます
であれば
    perl -pi.bak -e 's/BGCOLOR="#575757" TEXT="#FFFFFF"/BGCOLOR=white TEXT=black/' *.html
などがお手軽です。

> まっここいらは個人的嗜好の部分だと思います。
前に「背景が黒/文字が白で読みやすい」と言われたこともあります。
人によって好みが違うので難しいですね。


> �´�
丸付き数字は機種依存文字なので、使ってはいけません。

> cksumコマンドはファイルに対してどういったチェックを行うでしょうか?
    http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/cksum/
を読んで下さい。なぜそういうコードになっているかを知ろうとすると
ほとんど数学になってしまいますので、僕には説明できません。

> C言語からcksumコマンドを実行かけた時に、正常に終了したか、
> もしくは、異常終了したかの判断は行えるのでしょうか?
system(3) の戻り値でわかります。0 なら正常、異常終了なら
戻り値を 8bit 右シフトしたものが終了ステータス (cksum が
return したり exit した値)。

No. 586 # 68user 1999/12/08 (水) 19:46
> cksum
日本語マニュアルを最初に紹介すべきでした。
    http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=cksum&dir=jpman-3.3.0%2Fman

No. 587 # goosan [E-mail] 1999/12/09 (木) 19:19
>> �´�
> 丸付き数字は機種依存文字なので、使ってはいけません。
そうそう、これ、研究室のFreeBSD環境では見えませんでした。

No. 588 # 68user 1999/12/09 (木) 20:53
うーん、ちょっとめんどくさいけど、掲示板をいじって
機種依存文字をはじくようにしようかな…。

No. 589 # 68user 1999/12/10 (金) 07:07
テストがてら、書き込み。wwwboard.cgi をちょこっと書き換えました。
    ��Windows 機種依存文字を表示時に変換するようにしました。
        本来、書き込み時に変換するのがベストですが、正しく変換できてるか
        どうか自信がないので、しばらくこれで様子を見ます。
    ��二度書き防止機能を追加。最新10発言の MD5 を保存し、
        重複していたら書き込みできないようにしました。
…と、あえて機種依存文字を使ってみたり。

今後、この掲示板では Windows 機種依存文字の使用を推奨します(^^;
スクリプトはこちら。http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/wwwboard.cgi

No. 590 # へにか 1999/12/11 (土) 10:08
はじめまして、とほほさんのところからお伺いさせて
頂きました。はじめまして。

早速ですが、自動変換された、
��
      の
「(機種依存文字なので自動変換しました)」
の部分、長くて本文が読みづらいので、たとえば変換した
部分を今の赤色のまま、このページの下の方とかその他の
ページとかにリンクを張って、そこに
    (機種依存文字なので自動変換しました)
とか書いていただければ、あっさりして見やすと思うの
ですが、いかがでしょうか?

ご検討頂ければ幸いです。

No. 591 # 68user 1999/12/12 (日) 00:55
確かにおっしゃるとおり読みにくいので、こんなふうにしてみました。
いかがでしょうか。

No. 592 # へにか 1999/12/12 (日) 19:18
# はじめましてが、引用符みたいになってしまって、むっちゃ恥ずかしい・・・

早速直して頂いて、ありがとうございます。かなり見やすくなったと思います。
しかも、変換した場合だけ注釈が出る、というところが、かっこいいですね。
関係無いですが、目立たせたいがために、わざとWindows 機種依存文字を使う
ことも出来そうですね。

あと、「HTTPクライアントを作ってみよう」の
「さらなる改善点・バーチャルホストに対応」について、質問があります。

  http://www.host2.com/index.html に対して、
  GET /index.html HTTP/1.0
  host: www.host2.com:80

とリクエストする例がありますが、RFC2616の2045行近辺を当てはめると、
この例ではポート番号はいらないように思われますが、いかがでしょうか?
HTTP/1.0では必要なのかな、と思ってRFC1945を読んでみたんですが、どう
しても探し当れられなかったので、単なる私の勘違いかもしれませんが・・・

宜しくお願いします。

No. 593 # 68user 1999/12/13 (月) 02:40
ご意見ありがとうございます。ftp://ftp.iij.ad.jp/pub/RFC/rfc2616.txt には、
    3.2.2 http URL
        If the port is empty or not given, port 80 is assumed.
とあるので、「80 なら省略すべし」と決まっているわけではないです。なので
:80 は付けても付けなくても構いません。

ただ、確かに「80の場合は省略してもよい」というのは書いておいた
方がよいと思うので、直しておきます。
# が、これは Host: に限ったことではなく、URL 一般の話なので、
# どこで解説したらいいのか悩むところだなぁ…。

No. 594 # へにか 1999/12/15 (水) 22:11
御回答、ありがとうございます。
なるほど、無い場合は80が仮定されるんですね。 http://www.host2.com/ の、
www.host2.com と全く同じ文字を、 host: の後に書く必要があるんかな、と
思ったのですが、常に付けていても問題ないのですね。わかりました。

また分からないことがあったら、質問させて頂きますので、その時は宜しく
お願い致します。

No. 595 # Kai 1999/12/16 (木) 00:37
こんにちわ!このHPで最近勉強させてもらってます!
ところで、FTPクライアントをC言語で書く予定は無いのでしょうか?

一応見よう見まねでこのHPのパールで書かれたソースから
Cで書いてみたのですが、見事失敗!
(具体的にいうと、getsocknameの使い方がmanでしらべても
よくわからなかったのです(泣)できれば教えてください!)

ですから、説明無しでもソースだけアップしてもらえたらな〜、
なんて自分勝手なことを思ってしまってます。(ごめんなさい)

あるいは、CでかかれたFTPクライアントをアップしている
HPがありましたら、ご紹介いただけると幸いです!

No. 596 # あっちー [E-mail] 1999/12/16 (木) 16:31
こんにちわ、はじめましてあっちーといいます。
最近自分のパソコンにLinuxを入れました。
でもコマンドの使い方とか全然わかりません。
なんとxWindowを立ち上げてサウンドの設定までできましたが
CD-ROMが外付けなためCDROMびアクセスできません。
CDプレイヤーを立ち上げるとerorrと出てきます。
mountの設定なのでしょうか?
パソコンはSony VAIOでPCG505Sです。
CD-ROMはPCGA-CD5です。
いきなり掲示板に書いた内容がこんなですが
もしよろしければどなたか教えてください。

これからLInuxとUnixの勉強を始めていきます。
よろしくお願いします。

No. 597 # むちなちゅぼ〜 1999/12/17 (金) 03:22
Kaiさんゑ。
単にFTPが使いたい、てだけならば
CPANに行けばPerl用のFTPモジュールが置いてあるなりョ。

No. 598 # 68user 1999/12/17 (金) 04:33
> 具体的にいうと、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 は知りません。

No. 599 # 68user 1999/12/17 (金) 06:06
サンプルも作ってみました。anonymous ftp で、
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。
    http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c

レスポンスコードは見ていないし、バッファオーバーランはするし、
RFCに準拠していないし、ファイルがなかったらデッドロックするしで、
バグだらけですが、改造してみて下さい。

No. 600 # Kai 1999/12/18 (土) 00:27
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様
早速これを参考に頑張ってみたいと思います!!!

ほんとうにありがとうございます!!!

No. 601 # Yuuki 1999/12/19 (日) 08:50
あんまり意味のない話題なのですが、、、、
Linuxのペンギン
と
FreeBSDのマスコット?
(http://www.freebsd.org/gifs/freebsd_1.gif の右側のキャラクター)
どっちが好きですか?
僕はFreeBSDの方なんですが。

FreeBSDといいつつLinux使ってるんですけどねぇ〜<僕
RPMのデータベース(?)が壊れて強制再インストールという事故にあった事があるので
今度OS乗り換える時は、68userさんおすすめのFreeBSDにしようかと。

No. 602 # 68user 1999/12/19 (日) 15:59
> 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 することになります。
# もちろん登録コマンドをインストールする手もあります。

No. 603 # げんたろう [E-mail] 1999/12/20 (月) 07:47
FreeBSD上で、Treeコマンドを使いたいのだけけれど、
どうしたらよいのだろう。
もし、よろしかったら教えて頂けないでしょうか?

m(_ _)m

No. 604 # 68user 1999/12/20 (月) 10:04
tree ってどんなコマンドですか?
# もしかして DOS の tree?

No. 605 # Yuuki 1999/12/21 (火) 11:43
> > FreeBSDのマスコット?
> でーもん君 (daemon) です。手に持ってるのが fork で
> (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。
意味があるのかぁ〜
ナルホドー

> > どっちが好きですか?
> うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の
> でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で
> かわいくないし (ペンギンにも名前あるんでしたっけ?)。
確かに。(^_^) > NetBSDのでーもん
やはり、僕はFreeBSDのでーもんがいいなぁ。
ペンギンの名前は知らないです。

> > おすすめのFreeBSDにしようかと。
> 誤解のないように言っておきますが、
(中略)
> Linux と比べて FreeBSD がよい、という
> わけではないです。
それはわかってます。
はっきりいって、OS換えるといってもぜんぜん決めてないのです。
始めはSolarisなんかにしようかと思ってたんですがこれは有料だそうで、、、、
その時、UNIXの部屋の
> FreeBSD に乗り換えてみませんか? ;-)
を見てFreeBSDにしようかと(^_^;;)
あと、FreeBSDのでーもん君も気に入ったでポイントプラス。

No. 606 # EM 1999/12/21 (火) 15:09
はじめまして。UNIXに関して(その他もですが)ほとんど知識の無い私はかなり参考にさせていただいています。ありがとうございます。

いきなりで申し訳ないのですが、CGIの環境変数HTTP_REFERER についてお聞きしたい事が有ります。
HTTP_REFERER を使って、前ページ判断をさせているのですが、値の入り方が不安定で、思うように処理を行わせる事が出来ません。
68userさんのページでHTTP_REFERER はブックマークやURLの手打ちでは値が入らないと書いてあり、なるほどと納得したのですが、同じようにブックマークから飛んできても、値が入っている時と入っていない時が有るようなのです。それって、サーバの設定に問題があるのでしょうか。

つたない文章で、言っている事が良くわからないかもしれませんが、何かアドバイスをいただきたいと思います。お願いします。

No. 607 # 68user 1999/12/22 (水) 01:14
> 始めはSolarisなんかにしようかと思ってたんですが
> これは有料だそうで、、、、
Free Solaris などもありますが、まぁ入手経費はかかりますね。

>> FreeBSD に乗り換えてみませんか? ;-)
> を見てFreeBSDにしようかと(^_^;;)
なるほど。ということでしたら、ぜひ使ってみて下さい。

> HTTP_REFERER
この値はあまり信用できません。ユーザがある程度自由にいじれる、
ということもありますが、IE ではブックマークや URL 直打ちで
飛んできた場合も、前に読んでいたURL (全然関係ない URL) が
REFERER に入っていることがあります。
# 最新版では直ってるかなぁ?

ではなくて、同じブラウザで、同じページを読んでいて、同じページに
ブックマークで飛んでも、値が入っているときがあったり、入っていない
ときがあったり、なんでしょうか。もしそうなら ちょっとわからないので、
    http://www.wakusei.ne.jp/twn/wwwlng.cgi
などで質問してみて下さい。

No. 608 # EM 1999/12/22 (水) 14:54
アドバイスありがとうございます。
教えていただいたURLに行って、色々読んでみました。
結局、HTTP_REFERER ってあんまり信用しちゃいけないんですね。
その値を使って、ページを振り分けるなんてことはあんまりしない方が良さそうですね。
そういう処理しようと思っていたんですけど、やめておきます(笑)

アドバイス、本当にありがとうございました。

No. 609 # 荒木 1999/12/23 (木) 19:18
はじめまして

最近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なんですが。

No. 610 # 68user 1999/12/23 (木) 19:40
> FTPのユーザー認証で,USERコマンドを username@SERVER のような形で
> 送信しなければならないFTPサーバーがありまして,
本当に「USER コマンド」ですか?
    USER anonymous (あるいは ftp)
    PASS username@SERVER
ではないですか? (つまり anonymous FTP)

> 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか
> 動作が重いです。
重いってのもありますけど、gzip とか tar とか gmake とか gcc とか
tcsh とかをインストールするのがめんどくさいので、あんまり好かんです。
# CDE も嫌。

僕は (gcc以外は) ソースからコンパイルしてますけど、
みなさんはバイナリインストールしてるんでしょうかね。

No. 611 # 荒木 1999/12/23 (木) 20:14
うぉ,レスめちゃ早です。

>本当に「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千円くらいで買えるんです。フリーソフトを集めただけにしては高い気がしますけど(苦笑)

No. 612 # 68user 1999/12/23 (木) 20:29
> うぉ,レスめちゃ早です。
やらなきゃいけないことがたくさんあるのに、
こーゆーことばかりしてるので、全然仕事が進みません(^^;

> 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号はなかなか濃くていい感じです。でーもん君シールは
かわいくないですけど(笑)

No. 613 # 荒木 1999/12/23 (木) 22:25
なんどもすいません。
>これって 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マシンなんて壁紙すらないんですがねぇ(^^)

No. 614 # 68user 1999/12/23 (木) 23:23
> 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/ を見るに、上のでーもん君は嫌いですが、
背景のはアリだと思います。

自己分析するに、妙に立体感のあるアメコミチックな絵が嫌なのかな?

No. 615 # satoko 1999/12/24 (金) 01:26
はじめまして。perl初心者です。
こちらのperlのページ、とてもわかりやすいですね。
全部保存して勉強しています。
簡単な改造しかできませんが、
おかげさまで、やりやすくなりました。
どうもありがとうございました。
リンクさせていただいてもよろしいでしょうか?

No. 616 # 68user 1999/12/24 (金) 02:48
> リンクさせていただいてもよろしいでしょうか?
どうぞ〜。扱いが簡単でメンテしやすいリンク方法を考えている最中なので、
逆リンクは張れませんが (3ヵ月近く悩んでます)。

No. 617 # 荒木 1999/12/24 (金) 11:09
>530 USER unknown でした。

う〜,すみません。
微妙にUsernameとPasswordを間違ってしまいました。
ヘボン式でした。『h』が抜けています。
正しくは↓こちらです。
hostname:ftp.theglobe.com
Username:Otameshi1
Password:Otameshi

No. 618 # 68user 1999/12/24 (金) 12:15
「UNIX の部屋」を更新しました。
    http://X68000.startshop.co.jp/~68user/unix/
この掲示板やメールで頂いたご意見 (.xsession/complete など) は
全て反映させたつもりですが、もしまだ書き変わっていないものが
ありましたら ご指摘下さい m(_ _)m

> ヘボン式でした。『h』が抜けています。
おお、ほんまや。FreeBSD の ftp ではログインできるけど、
ftptrans や telnet ftp.theglobe.com ftp ではうまくいかない。
なんでだろう。調べておきます。

No. 619 # skeleton_M. [E-mail] 1999/12/24 (金) 14:56
はじめまして。メールは何度か送ったけれど、掲示板にカキコする
のはこれが初めてです。

「UNIXの部屋」を見させていただきました。説明が詳しく、非常に
勉強になります。ありがとうございます。completeコマンドに
関してはこれからじっくりと見ていこうかなと思ってます。

あと、~/.xsessionについて。パーミッション変更に関しては
    % chmod +wx ~/.xsession
ではなくて、
    % chmod u+wx ~/.xsession
とした方がいいのでは?「+wx」だとすべての人に編集を許可すること
になり、危険だと思います。(ある日ログインしたらいきなりデスクトッ
プが変わっていた!なんてことに...)

No. 620 # 68user 1999/12/24 (金) 16:52
> 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 と指定する癖を付けた方がよい」という
# 考えもあるんでしょうね。どっちがいいのかな。

No. 621 # ROL 1999/12/24 (金) 21:04
どうも、ご無沙汰しております>お師匠様
いやぁ、仕事が忙しくてなんともなりませんです、はい。
で、いつもいつも困ったときに助けていただいて恐縮なんですが、
FROMから、
$len=$ENV{'CONTENT_LENGTH'};
read(STDIN, $st, $len);
と、STDINでとってきたデータに日本語が含まれていた場合
%なんちゃらで置き換えられてしまいますよね。
これを元の日本語に戻したいんですけど、なにかいい方法が
ありませんでしょうか?

毎回毎回FORMに対応した変数をCGI(Perl)内で
定義するのではなく汎用のCGIを作りたいんです。
cgi-lib.plを使ってkeys関数でハッシュから取り出すと、
送られてきたデータの順番がぐちゃぐちゃになるのを
なんとかできればそれでもいいんですけどね(笑)

No. 622 # ROL 1999/12/24 (金) 23:39
すんません、下の質問解決してしまいました。
もう一度駱駝本と鼠本を見直してたら、のってました。
そのものではないですけど・・・。
近況報告
ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑)

No. 623 # 68user 1999/12/25 (土) 07:22
> ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑)
RC5-64 と同じく seti も Mac (というかG4?) 陣営が
優勢なんでしょうか? うちのまわりの24時間稼働の
マシンは 486DX2+Memory 8MB+NetBSD1.4.1 しかないので、
参加はとても厳しいです(^^;

No. 624 # 荒木 [E-mail] 1999/12/25 (土) 21:36
>改行コードが LF だったからでした。
なるほど,そういうことだったのですね。
全てをCRLFに修正したらうまくいくようになりました。
ありがとうございます。
で,こんなもんを作ってました。
あまり役にたたない物ですけどね(^^;
http://disk.hypermart.net/fxp.cgi
http://disk.hypermart.net/fxp.txt #ソース

No. 625 # goosan [E-mail] 1999/12/27 (月) 19:53
改行コードの話が出たので、ついでに書いてしまいます。
実は最近、掲示板を自作してみたのですが、改行をBRタグに
置換する部分があって、そこではCR+LF,LF,CRの3通りに
対応するようにしたのですが、CRはMacだから致し方ないとして、
LFは研究室のFreeBSDで試験できるから、ということで、
やってみたのですが、何とFreeBSDのNN4.7もCR+LFで
フォームデータを送ってきたのでした。Lynxもそうだったし、
これじゃテストできないやん(^^;

No. 626 # 68user 1999/12/28 (火) 02:58
> 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 でした。

No. 627 # Yuuki [E-mail] 1999/12/28 (火) 17:37
この掲示板の過去ログを検索できるようにしたかったのでしてみました。
でこれがそれを圧縮したやつ。
http://www.geocities.co.jp/SiliconValley-Bay/2916/68bbs.tar.gz
物好きな方はどうぞ。

前のFreeBSDの話>68userさん
今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。
FTPからダウンロードはとても(^_^;

明日から5日間スキーへ行ってきます〜
やや自慢;-)

No. 628 # 68user 1999/12/29 (水) 04:58
> この掲示板の過去ログを検索できるようにしたかったのでしてみました。
また物好きなことを :-)
そのうち namazu で検索できるようにしておきます。

> 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。
書籍選びには
    http://www.jp.FreeBSD.org/CD-list/
も参考にしてみて下さい。

> 明日から5日間スキーへ行ってきます〜
骨を折らないように祈ってます ;-P

No. 629 # goosan [E-mail] 1999/12/29 (水) 21:26
>> Lynxもそうだったし、
> Lynx は LF じゃないですか?
いや、確かに%0d%0aとなっていたから、CR+LFだと
思うんですけどね。もう一度確かめてみるとします。

No. 630 # 68user 1999/12/30 (木) 03:33
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 のバージョンが違うというオチでは
# ないかと予想しているんですが、どうでしょう。

No. 631 # goosan [E-mail] 1999/12/30 (木) 11:13
>いや、確かに%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
でした。

No. 632 # 荒木 1999/12/30 (木) 22:40
改行コードなんですが,家のSolarisから送信したら
LinxはLFみたいですねぇ。
Linxのバージョンによって違うのかな?
でもLinxから掲示板に投稿する人なんてあんまりいないような気が・・・・
>Yuukiさん
物好きなんで過去ログ頂きました。
もの好きというよりただの暇人かも(^^;
なにか面白いネタを探してたりします。

No. 633 # goosan [E-mail] 1999/12/31 (金) 08:21
学校のSolarisはLFでした。

No. 634 # ROL [E-mail] 2000/01/03 (月) 00:55
まずは皆様、あけましておめでとうございます。
改行コードの話ですが、初心者向けのCGIの本には
MacはCR、WINDOWSはCR+LF、UNIX(系)はLFとしているものが多いようですが
違うんでしょうか?
むぅぅ、奥が深い・・・。

>SETIの話題
G4というより、PPCが強いです。
G4の速さの原因である、VelocityEnginにクライアントが対応していないため
現在はG3とG4での速度差はほとんどありませんです。

No. 635 # SAITO [E-mail] 2000/01/05 (水) 05:20
明けましておめでとうございます。
まだまだ素人の域から脱しられない者ですが、宜しくお願いします。
socketについても、全く知らなかったのですが、
「ネットワークプログラミングの基礎知識」では、とても良く分かりました。有り難うございます!!
いきなり質問で申し訳ないのですが、
識者の方がいらっしゃいましたら、ご教示下されば幸いです。

HTTP_REFERERでは、呼出し元URLがセットされますが、
これ(Referer)を、返さない様にする方法ってあるのでしょうか?
または、任意のURLをセットする等。
#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか?

宜しければ、お教え願えないでしょうか?よろしくお願いします<(__)>
-----
ちなみに、<IMG・・>タグを取っ払って表示させるCGIを「ネットワークプログラミングの基礎知識」を参考に作ってみました。
が、SUBMITボタンがあるページで送信をクリックすると、(HTTP_REFERERをチェックしているCGIでは、)エラーで弾かれてしまうので、回避したいと思いました。

No. 636 # Housecat [E-mail] 2000/01/05 (水) 16:50
ども (。・_・。)ノ
Gooで3DOのゲーム、スターコントロール2を検索して
過去ログに引っ掛かってきたものです( ;^^)ヘ..
ちなみにSEGABBSのVol.83の辺りです。
HPのトップを見てみるとUNIX関係の資料が…
この頃Linuxに挑戦しているのですが、
なぜゲームの検索をしていてUnixにたどり着くのか(TT
そんなに私に休まずにUnix系の勉強をシロというのだろうか(笑
まだLinuxのslackware3.6をインストールしただけですが、
ここのぺーじ等を参考に、ゆくゆくはサーバを立ててみたいと
おもってます(いつになることやら

ちなみにBBSを巡回する癖は無いので
レス付けても返事無いかも(ぉぃぉぃ
というわけで、またいつか書きこみに来るかも(^^;

No. 637 # goosan [E-mail] 2000/01/05 (水) 19:52
>HTTP_REFERERでは、呼出し元URLがセットされますが、
>これ(Referer)を、返さない様にする方法ってあるのでしょうか?
私はネットワークに詳しい訳ではないので、実際の動作だけを
申し上げますと、ブックマークからアクセスした場合や、URLを
直打ちした場合はHTTP-Refererがつかないようです。
Refererは呼び出したページを示すもので、上記のような
ケースでは呼び出したページそのものが存在しませんからね。
実際、私のウェブページのアクセスログでは、Refererが
ないのも多いです。

>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか?
ブラウザが持つものはHTTP-User-Agentです。
#と、断言していいのかな…。
User-Agentを操作できるブラウザもあります。IEもその1つ
らしいのですが、レジストリの操作が必要だとか言って、私には
ちょっと分かりません。
もっとやり易いのはLynxですね。これには、Optionメニューの
中に堂々とUser-Agentを指定する項目があります。

No. 638 # mm 2000/01/06 (木) 01:22
>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか?
ブラウザがリンク元のページの情報としてReferer: ヘッダを送る訳ですから、
当然ブラウザが持ってます…というか、ブラウザがどのような
Referer: ヘッダを送るか、または、送らないかを決めています。

User-Agent: ヘッダもそうですが、HTTPリクエストヘッダは、
クライアント、つまりここではブラウザ次第です。

No. 639 # skeleton_M. [E-mail] 2000/01/06 (木) 15:53
あけましておめでとうございます!
今日やっと図書館が開いたので1999/12/24同様、そこのマシン
からカキコしてます(笑)。

レスが遅れてすいません>68user様

>+wx という形式だと umask の値で修飾され、その結果が実際の
>パーミッションになります。なので、umask 0 にでもなって
>いない限り 777 にはなりません。
あわわ、知りませんでした。私の勉強不足です(汗)

># 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という
># 考えもあるんでしょうね。どっちがいいのかな。
+の前に何もつけなければ(つまり+wxみたいにすれば)umaskの値で修飾される
ということを知らなかった私はいつもu+wxなどとしてましたけど。

あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを使うしかないのでしょうか?
教えていただければうれしいのですが。

No. 640 # Shingo 2000/01/06 (木) 16:47
UNIXのサブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクに
コピーする方法は在りませんでしょうか,もしあったら教えて下さい。

No. 641 # mm 2000/01/06 (木) 23:19
>サブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクにコピーする方法
http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#cp
の -R オプションではいかがでしょう?

No. 642 # SAITO [E-mail] 2000/01/06 (木) 23:26
goosan様、mm様、御回答ありがとうございました。
大変参考となりました!!
僕は、まだまだスキルは低いのですが、分かる事があれば、
答えたいと思っています。(give and takeの精神で(^-^))
今後とも宜しくおねがします。

No. 643 # Yuuki [E-mail] 2000/01/07 (金) 02:07
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のモジュール
とか作ろうかと。  …的外れなレスかもしれない。

No. 644 # 68user 2000/01/07 (金) 16:02
帰省先からこんにちは。

> あと、ブラウザが送るヘッダを全部見るには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 サーバが値を決めています。

No. 645 # SAITO [E-mail] 2000/01/08 (土) 04:55
>始めてのPerl を買ってしまったようです:-)
Yuukiさん、僕の場合は、「初めてのPerl」を買いに行って、
「プログラミングPerl」しかなかったので、注文して
買いました。
僕のレベルに丁度マッチして、読み応え十分(笑)
未だにWINから脱する事ができないSAITOでした。

No. 646 # Shunji [E-mail] 2000/01/10 (月) 11:55
仕事中によくUNIXの部屋を利用させて頂いてます。
さっそく、教えて頂きたいのですが、
UNIXコマンドでユーザーID名とグループ名を変える事は出来ますか?
よろしくお願いします。

No. 647 # 68user 2000/01/10 (月) 13:58
> ユーザーID名とグループ名を変える
root になって /etc/passwd あたりを編集します。FreeBSD なら
vipw コマンドで書き換えればいいでしょう。group は /etc/group で。

No. 648 # skeleton_M. [E-mail] 2000/01/11 (火) 13:00
どうも、skeleton_M.です。このホームページをいつも見させていただいてます。

> > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを
> > 使うしかないのでしょうか?
> tcpdump の他にも sniffit や ethereal などがあります。
どうもありがとうございます。機会があれば試してみようと思います。

> また、リクエストを表示するような簡単な http proxy を作って、
> ローカルで動かしておいて、そこ経由(http://localhost:8080 とか)
> でブラウズするのもお手軽でしょう。
うーん、私はまだそこまでできるレベルではありません(^^;
修行せねば

No. 649 # 初心者1号 2000/01/11 (火) 20:53
Cシェルで多次元配列の記述方法があれば教えて下さい。(あるんですか?)(*_*)/

No. 650 # 68user 2000/01/12 (水) 00:42
> うーん、私はまだそこまでできるレベルではありません(^^;
port 8080 を bind するサーバプログラムを作って、
ブラウザの proxy を localhost:8080 に設定すれば、
リクエストを出すたびに
    GET http://foo/bar HTTP/1.0
    ...
というリクエストがくるので、それを (標準出力に) 表示すれば
ブラウザのリクエスト内容がわかるでしょう。

リクエスト内容を表示するだけならそれで OK ですが、
それを他のホストに中継してやると proxy サーバのできあがり。

> Cシェルで多次元配列の記述方法
できないと思います。eval 使ったり小細工すれば無理ではないでしょうけど、
perl や awk でやる方が早いと思う。

No. 651 # Shingo 2000/01/12 (水) 11:38
UNIXでディレクトリやファイルをアーカイバして圧縮してFDに移してWindows98で展開することは出来るのですか。
tar(*.tar,*.tar.gz,*.tgz),LHA・LZH(*.lzh), ZIP(*.zip)形式のアーカイバ,gzip(*.gz)形式の圧縮,すべて出来るのですか。
またUNIXでWindows用の *.exe などのアプリケーションファイルをダウンロードしてFDに移してWindows98で実行することは出来ますか。
Windowsユーザーとのデータの交換の参考のために教えて下さい。

No. 652 # 68user 2000/01/12 (水) 11:57
ただのファイル転送なので、全て可能です。アーカイブが読めるかどうかは
Windows 側にその形式を扱えるアーカイバがあるかどうかですが、
tar/gzip/LHA/LZH/ZIP 全て揃っているでしょう。

それ以前に、質問に対する答えをもらったのに (ディレクトリ一括コピーの件)、
わかったのかわからなかったのか返答する気がないなら、最初から質問しないで下さい。

No. 653 # Shingo 2000/01/12 (水) 12:27
よく分かりました。ありがとうございました。

No. 654 # skeleton_M. [E-mail] 2000/01/12 (水) 14:19
どうも、skeleton_M.です。

> port 8080 を bind するサーバプログラムを作って、
すでにこの時点でパニクってます(^^;
作り方が分からないし(参考になるページがあれば紹介していただけますか?)、
あと、作れる環境にあるかどうかも分かりません(大学の教育系ですからね)。

> ブラウザの proxy を localhost:8080 に設定すれば、
telnetでそのサーバーの8080にアクセスして…っていうのもアリですか?
#私はtelnetやftpの使い方を立ち読みで知ったクチですので、的外れでしたら
#ごめんなさい m(__)m

HTTPの原理やプロトコルのヘッダ内容、HTTP_REFERなどの環境変数に関する説
明などについて書かれている書籍をご存じでしたら教えていただけますか?そ
れを読んでからでないとせっかくのアドバイスが「ネコに小判」状態…(*_*)

No. 655 # Yuuki [E-mail] 2000/01/12 (水) 16:50
> それなりの本だとは思いますが、古い(2.2.1R)ので
> あまりお勧めはしません。
本当だ、古いんですね。(^^;;;
(http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/)
2.xより3.xのほうが新しいからいいのかぁ、、、
うーん。:-)
どのバージョンがおすすめですか、、?、、とか聞いてるより
こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね?

No. 656 # Yuuki [E-mail] 2000/01/12 (水) 16:52
下の投稿に間違いがありました:-)
> どのバージョンがおすすめですか、、?、、とか聞いてるより
> こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね?
は
> どのバージョンがおすすめですか、、?、、とか聞いてるより
> とっとと本買ってインストールしてみたほうがいいですよね?
です。すみません。

Prev< No. 556〜656> Next  [最新発言に戻る] [過去ログ一覧]