|
c言語でFTPクライアントのプログラムを組んでいます。 プロトコルやソースは大変参考にさせていただいています。 環境は、TurboLinux 8 serverです。 FTPクライアントのプログラムなのですが、ファイルの転送などは問題なく動作しているのですが、ディレクトリ単位の転送の記述部分がわかりません。何度かコマンドのデバッグモードで試して、RFCなどの記述も呼んでいるのですが。参考になるページがあるのでしたら、教えてください。 また、ファイルかディレクトリかを区別する方法もあればと思い、ご教授よろしくお願いいたします。 |
|
>>3231 じゅじゅ > ディレクトリ単位の転送 おそらく、ディレクトリを LIST or NLST して、一つ一つ RETR する しかないです。 > ファイルかディレクトリかを区別する方法 ブラウザで anonymous ftp サイトに接続した場合などは、LIST の結果が drwxr-xr-x ならディレクトリ、とするのが一般的だと思います。もっと きっちりやるなら、CWD で移動できたらディレクトリとみなす、とか。 基本的に、ftp は UNIX に依存したくなかったため、この辺はあえて 決めてないのではないかと思っています。 もしディレクトリを判別できるようにするなら、名前付きパイプは? ソケットは? デバイスファイルは? door は? ということになり、 結局 ls の結果をそのまま送る方がよい、と判断されたのではない でしょうか (そしてわたしは、この判断は誤りであると思っています)。 |
|
簡単なことかもしれませんが、LISTやNLSTをし、続けてファイルの総数やディレクトリの中にあるファイル名を取得することはできるのでしょうか?それらのデータを取得する記述と、また、 >drwxr-xr-x ならディレクトリを取得する 記述が分かりません。 ご教授よろしくお願いいたします。 |
|
>>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 の下のファイル・ ディレクトリ一覧が返ってきます。 |
|
>>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プロンプトに表示されるということでいいんですよね??? それともこのプログラムにさらに引数を与えなければいけないのでしょうか? 長文になってしまい失礼いたしました。 またお時間のあるときにお返事いただければ幸いです。 |
|
Makefileでのライブラリの定義について はじめまして。solaris初心者のかんすけです。 環境はsparc-solaris8です。 Makefileを作成してみたのですが、自分で作成したライブラリファイルをCCのところでうまく定義できません。実行すると「ファイルが見つかりません」とエラーが表示されます。 この場合、まず何を疑えば良いのでしょうか? 正しいMakefileでのライブラリの定義の仕方を教えてください。 また良いサンプルファイルのURL等ありましたら、紹介してください。 よろしくお願いします。 |
|
今までの数々の質問大変失礼いたしました。 色々いじっているうちに何故か成功いたしました。 今までありがとうございました。 これからもがんばってください。 |
|
>>3236 かんすけ デフォルトルールや特殊変数などを全く活用してませんが、 main: main.o hoge.a $(CC) -o $@ $> hoge.a: hoge.a(a.o) hoge.a(b.o) $(AR) ru $@ $> とりあえずこんな感じで実現することは可能です。 |
|
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 は未だによくわからん…。 |
|
苦節 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); |
|
皆様こんにちは。 僕はサーバースペースを借りてHPを作ってます。 いきなりの質問で失礼と存じますが… asciiart.cgiの設置方法を教えていただけないでしょうか? 一応、↑検索をかけてみたのですが見当たりませんでした。 パーミッション asciiart.cgi 755 environment.pl 644(試しに755) …だけではダメなのでしょうか? ヨロシクお願いします。 |
|
>>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/ |
|
返答ありがとうございました。 難しいので諦めます。。 asciiart.cgiを設置されてるサイトって有るんですかね?(謎) 因みにasciiart.cgi検索かけても見つかりませんでした。(笑) |
|
>>3243 ひろ > asciiart.cgiを設置されてるサイトって有るんですかね?(謎) ないと思います。うちの CGI プログラム群は、配付しているのではなく ただ単にソースを公開しているだけなので、わたし以外の人にとっては 設置しづらいでしょう。 |
|
「ls」を入力すると、カレントディレクトリのファイルやディレクトリが表示されますが、ファイルは表示させずにディレクトリだけを表示させることは出来ますか? ls -d でやってみてもダメでした。 |
|
>>3245 bebe -d は引数にディレクトリを指定した場合、そのディレクトリの 下でなく、ディレクトリそのものの情報を表示するオプションです。 というわけで、 % ls | grep ^d % find . -type d -maxdepth 1 % find . -type d -maxdepth 1 -ls などなど。 |
|
>>3246 68user > ls | grep ^d ls -l | grep ^d の間違いでした。 |
|
ネットワークプログラミングの基礎知識 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 |
|
はじめまして。 ここのページでかなり勉強させてもらっています。 いつの間にかDSNクライアント作成講座もできてるみたい なので、時間があったら読ませてもらいます。 ところで、DNSを使ってみよう でsend関数がでてきましたが、 あれはTCPでは使えないのでしょうか? UDPはコネクションレス型で、TCPはコネクション型なのは解ってますが・・・。 もし使える方法があれば教えてください。 |