|
SOCKETを使ったHTTPクライアントソフトで認証のページに アクセスする方法はどうするのでしょうか? |
|
>>2611 hama 認証が必要なページを読むと、Basic 認証が必要なページならば HTTP/1.1 401 Authorization Required WWW-Authenticate: Basic realm="This URI is required authentication" というようなレスポンスが返ってきます。 もしユーザ名が USER、パスワードが SECRET なら、クライアントは USER:SECRET という文字列を作り、それを base64 でエンコードした VVNFUjpTRUNSRVQK という文字列を「Authorization: Basic 」に続けて送ります。つまり GET / HTTP/1.0 Authorization: Basic VVNFUjpTRUNSRVQK こんな感じ。 Digest 認証ならば、web サーバは WWW-Authenticate: Digest realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41 という感じのを返してくるので、クライアントは GET / HTTP/1.0 Authorization: Digest username="hoge", realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/", response="e966c932a9242554e42c8ee200cec7f6", opaque="5ccc069c403ebaf9f0171e9517f40e41" こんな感じで。 詳細はこちらを。 http://www.ietf.org/rfc/rfc2617.txt |
|
はじめまして、いつも勉強させて頂いております。 バージョン管理ソフトのCVSについて質問です。 ソースをレポジトリにインポートすると「ファイル名,v」となります。 ,vが管理されていると言う事だと思うのですが、この管理している ソースを直接WEBに反映したいのですが,vがある事でもとのファイルがみつからないとのエラーがブラウザに表示されてしまいます。 CVSROOTの中(loginfo等)はそれぞれ、元のファイルと,vのファイルがあり、チェックアウトしてソースを修正して戻すと両方のファイルが 更新されています。このようにする方法は無いのでしょうか。 以上、宜しくお願いします。 |
|
申し訳ないです。下の質問わかりにくいですね。 例えばindex.htmlをインポートするとindex.html,vとなってしまう為 ブラウザーでindex.htmlを表示できないという事です。 宜しくお願いします。 |
|
>>2614 kouhei 目的は、履歴 (index.html,v) を表示することですか? それともコンテンツ (index.html) を表示することですか? |
|
>>2615 68user 追加。 もし後者だとしたら、リポジトリを直接ブラウザで見ようとして いるのはなぜですか? |
|
素早いレスありがとうございます。 目的はコンテンツ(index.html)を表示したいということです。 参考にトップページのソースを拝見させていただきました。 1行目に<!--$ID:index.html,v 〜 があるというこはindex.htmlを 管理しているという事ですよね。これはチェックアウトした物を表示 しているのですか。 私がやりたいのはインポートしたindex.htmlを表示したいという事です 以上、宜しくお願いします。 |
|
追加。 もしかして普通はこんな事しませんか。 テスト用サーバでcommitと同時に画面に反映されたらテストが楽に なると思ったので。動作確認ができたら本番サーバにリリースする というような事を考えていました。 実現できるのでしょうか。 |
|
>>2618 kouhei > テスト用サーバでcommitと同時に画面に反映されたらテストが楽に > なると思ったので。動作確認ができたら本番サーバにリリースする > というような事を考えていました。 運用の問題になりますが、commit しないとテストできないというのは 面倒ではないですか? 普通、ちょっと作ってはブラウザで確認、不具合を修正し、確認し…と 修正・確認を繰り返して、まぁ問題ないだろうというときになったら commit するものだと思います。 よって、 - CVSROOT が /home/user/cvsroot - テスト環境を置くディレクトリが /home/user/public_html/ - 本番環境を置くディレクトリが /usr/local/www/data/ だとしたら、 % cd /home/user/public_html (ここで修正・確認を繰り返す) % cvs commit % cd /usr/local/www/data/ % cvs update (本番環境に反映。あるいは再度 checkout しなおしてもよい) とするのがよいと思います。 CVSROOT/loginfo をいじれば、commit した瞬間に本番環境へ反映させる ことは不可能ではありませんが、常に本番環境に即時反映されるのも困る 場合があるんじゃないでしょうか? また、本番環境への自動反映であれば、cron で定期的に更新するという 手もあります。loginfo で凝ったことをするより、cron で小回りのきく 単純なシステムを作った方がいいかもしれません。 |