68user's page 掲示板

Prev< No. 3231〜3249> Next  [最新発言に戻る] [過去ログ一覧]
No. 3231 # じゅじゅ [E-mail] 2003/05/21 (水) 19:28:46
c言語でFTPクライアントのプログラムを組んでいます。
プロトコルやソースは大変参考にさせていただいています。

環境は、TurboLinux 8 serverです。

FTPクライアントのプログラムなのですが、ファイルの転送などは問題なく動作しているのですが、ディレクトリ単位の転送の記述部分がわかりません。何度かコマンドのデバッグモードで試して、RFCなどの記述も呼んでいるのですが。参考になるページがあるのでしたら、教えてください。
また、ファイルかディレクトリかを区別する方法もあればと思い、ご教授よろしくお願いいたします。

No. 3232 # 68user 2003/05/21 (水) 23:01:09
>>3231 じゅじゅ
> ディレクトリ単位の転送
おそらく、ディレクトリを LIST or NLST して、一つ一つ RETR する
しかないです。

> ファイルかディレクトリかを区別する方法
ブラウザで anonymous ftp サイトに接続した場合などは、LIST の結果が
drwxr-xr-x ならディレクトリ、とするのが一般的だと思います。もっと
きっちりやるなら、CWD で移動できたらディレクトリとみなす、とか。

基本的に、ftp は UNIX に依存したくなかったため、この辺はあえて
決めてないのではないかと思っています。

もしディレクトリを判別できるようにするなら、名前付きパイプは?
ソケットは? デバイスファイルは? door は? ということになり、
結局 ls の結果をそのまま送る方がよい、と判断されたのではない
でしょうか (そしてわたしは、この判断は誤りであると思っています)。

No. 3233 # じゅじゅ [E-mail] 2003/05/22 (木) 15:28:39
簡単なことかもしれませんが、LISTやNLSTをし、続けてファイルの総数やディレクトリの中にあるファイル名を取得することはできるのでしょうか?それらのデータを取得する記述と、また、
>drwxr-xr-x ならディレクトリを取得する
記述が分かりません。
ご教授よろしくお願いいたします。

No. 3234 # 68user 2003/05/23 (金) 02:21:11
>>3233 じゅじゅ
LIST すれば
    drwxr-xr-x 9 user group 512 Apr 28 2001 dir1
    drwxr-xr-x 10 user group 512 Jul 30 2000 dir2
    -rw-r--r-- 1 user group 122 Mar 29 2000 file
などという結果が返ってくるので、行頭が d である
dir1 と dir2 がディレクトリであることがわかります。

さらに LIST dir1 とすれば dir1 の下のファイル・
ディレクトリ一覧が返ってきます。

No. 3235 # ちゃお 2003/05/24 (土) 04:43:48
>>3230 68user
前回はちんぷんかんぷんな質問失礼いたしました。
現状ちゃおのマシンにはapacheがインストールされています。
そしてrootにはhtdocsが指定されています。
さらにhtdocsの中にindex.htmlがあります。

まずはtelnetからやりなおしてみました。
コマンドプロンプトから以下のように入力しました。

telnet 127.0.0.1 80
接続成功
GET /index.html HTTP/1.1
HOST:127.0.0.1
Content-type:text/html

ソース取得成功してます。

次にコマンドプロンプトからperlを実行します。
(もちろんperlのあるディレクトリには移動済みで、他のHTMLソースを吐き出させることにも成功しています)

c:\>perl http_client.pl

このときはなにも表示されません。
しかしコードは200を返します。

このときの結果は同じものではないのですか?

>http-client.pl というのは、要はブラウザの代わりをする
プログラムなのですが、その辺は理解されていますか?

つまり$iaddrで指定したアドレスにあるソースを受け取って表示する、
dos上で実行したらbody部分がそのままdosプロンプトに表示されるということでいいんですよね???
それともこのプログラムにさらに引数を与えなければいけないのでしょうか?

長文になってしまい失礼いたしました。
またお時間のあるときにお返事いただければ幸いです。

No. 3236 # かんすけ [E-mail] 2003/05/24 (土) 23:49:04
Makefileでのライブラリの定義について

はじめまして。solaris初心者のかんすけです。
環境はsparc-solaris8です。
Makefileを作成してみたのですが、自分で作成したライブラリファイルをCCのところでうまく定義できません。実行すると「ファイルが見つかりません」とエラーが表示されます。
この場合、まず何を疑えば良いのでしょうか?
正しいMakefileでのライブラリの定義の仕方を教えてください。
また良いサンプルファイルのURL等ありましたら、紹介してください。
よろしくお願いします。

No. 3237 # ちゃお 2003/05/27 (火) 01:28:02
今までの数々の質問大変失礼いたしました。
色々いじっているうちに何故か成功いたしました。
今までありがとうございました。
これからもがんばってください。

No. 3238 # 68user 2003/05/30 (金) 00:19:49
>>3236 かんすけ
デフォルトルールや特殊変数などを全く活用してませんが、

      main: main.o hoge.a
                $(CC) -o $@ $>
      hoge.a: hoge.a(a.o) hoge.a(b.o)
                $(AR) ru $@ $>

とりあえずこんな感じで実現することは可能です。

No. 3239 # 68user 2003/05/30 (金) 04:40:51
OpenSSL による https クライアントをちょっとだけ
バージョンアップしました (解説は更新なし)。
    http://x68000.startshop.co.jp/~68user/net/ssl.html

変更点はこちら。
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/https-client.c

しかし SSL は未だによくわからん…。

No. 3240 # 68user 2003/05/31 (土) 21:05:20
苦節 3日。やっと rootCA を組み込む方法がわかった。
忘れないうちにメモメモ。
        ctx = SSL_CTX_new(ssl_method());
        SSL_CTX_load_verify_locations(ctx, "mod_ssl-2.8.9-1.3.26/pkg.sslcfg/ca-bundle.crt", NULL);

No. 3241 # ひろ 2003/06/05 (木) 19:56:39
皆様こんにちは。

僕はサーバースペースを借りてHPを作ってます。

いきなりの質問で失礼と存じますが…

asciiart.cgiの設置方法を教えていただけないでしょうか?

一応、↑検索をかけてみたのですが見当たりませんでした。

                                    パーミッション
asciiart.cgi    755
environment.pl   644(試しに755)

…だけではダメなのでしょうか?

ヨロシクお願いします。

No. 3242 # 68user 2003/06/05 (木) 23:52:06
>>3241 ひろ
> asciiart.cgiの設置方法を教えていただけないでしょうか?
      http://x68000.startshop.co.jp/~68user/unix/pickup?netpbm
に含まれている giftopnm、ppmtopgm などのコマンド群と、
HTTP クライアントである httptalker.pl が必要です。

netpbm はフリーで配布されています。httptalker.pl はわたしが
作ったものですが、wget や fetch などのフリーなダウンローダで
代用可能です。

申し訳ありませんが、解説しはじめると長くなるので、これ以上の
詳細な解説はご勘弁ください。

関係ないですけど、テーブルアートというのがあります。こっちの方が
表現力が高いので、おもしろいかも。
      http://hi.sakura.ne.jp/~okada/table/

No. 3243 # ひろ 2003/06/08 (日) 13:48:14
返答ありがとうございました。

難しいので諦めます。。

asciiart.cgiを設置されてるサイトって有るんですかね?(謎)

因みにasciiart.cgi検索かけても見つかりませんでした。(笑)

No. 3244 # 68user 2003/06/09 (月) 06:08:14
>>3243 ひろ
> asciiart.cgiを設置されてるサイトって有るんですかね?(謎)
ないと思います。うちの CGI プログラム群は、配付しているのではなく
ただ単にソースを公開しているだけなので、わたし以外の人にとっては
設置しづらいでしょう。

No. 3245 # bebe 2003/06/10 (火) 18:36:12
「ls」を入力すると、カレントディレクトリのファイルやディレクトリが表示されますが、ファイルは表示させずにディレクトリだけを表示させることは出来ますか?
ls -d でやってみてもダメでした。

No. 3246 # 68user 2003/06/10 (火) 19:53:53
>>3245 bebe
-d は引数にディレクトリを指定した場合、そのディレクトリの
下でなく、ディレクトリそのものの情報を表示するオプションです。
というわけで、
    % ls | grep ^d
    % find . -type d -maxdepth 1
    % find . -type d -maxdepth 1 -ls
などなど。

No. 3247 # 68user 2003/06/10 (火) 20:04:29
>>3246 68user
> ls | grep ^d
ls -l | grep ^d の間違いでした。

No. 3248 # 68user 2003/06/14 (土) 22:03:14
ネットワークプログラミングの基礎知識
      http://x68000.startshop.co.jp/~68user/net/
に、
      暗号化のお話 (1) - 共通鍵暗号方式
            http://x68000.startshop.co.jp/~68user/net/crypt-1.html
      SSL/TLS でアクセスしてみよう (1) (2)
            http://x68000.startshop.co.jp/~68user/net/ssl-1.html
            http://x68000.startshop.co.jp/~68user/net/ssl-2.html
を追加しました。説明が中途半端ですが、ご容赦を。

cvsweb はこちら
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/?sortby=date

No. 3249 # のぐけん。 2003/06/16 (月) 17:54:10
はじめまして。
ここのページでかなり勉強させてもらっています。
いつの間にかDSNクライアント作成講座もできてるみたい
なので、時間があったら読ませてもらいます。

ところで、DNSを使ってみよう でsend関数がでてきましたが、
あれはTCPでは使えないのでしょうか?
UDPはコネクションレス型で、TCPはコネクション型なのは解ってますが・・・。
もし使える方法があれば教えてください。

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