人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのダイジェスト認証の処理(クライアントサイド)

http://perltips.twinkle.cc/php/digest_auth_http_client.php
http://labs.uechoco.com/blog/2008/09/phpcurlでダイジェスト認証digest-authを通過する.html

上記URLを参考にしてPHPプログラム内にアカウント情報を記述して、ダイジェスト認証にログインできるクライアントを作ることができました。しかし、なぜかCSS、Javascript、フレーム内のHTMLなどが読み込めず、本体
HTMLしか読めません。ふつうにブラウザからアクセスしてダイジェスト認証の入力を行うと、すべて表示されます。なぜでしょうか

●質問者: dedara
●カテゴリ:インターネット ウェブ制作
✍キーワード:CSS HTML JavaScript PHP URL
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

おそらく、外部参照になっているからです。


PHPを介して読み取れるHTMLコンテンツを見ないと何とも言えませんが、おそらく、JavaScriptとCSSは外部から読み取る形式(外部参照)になっているのでしょう。フレームは明らかに外部参照です。


ブラウザは、読み込んだHTMLコンテンツを解析し、外部参照のファイルがあれば、それを別途読み込んでいます。

PHPを介して読み込むプログラムでも同様に、HTMLコンテンツを解析し、外部参照のファイルがあれば、それを別途読み込む必要があります。

◎質問者からの返答

HTMLを解析して別途外部ファイルを読み込む必要があるのはわかりましたが、

それぞれバッファに退避しておいて出力時に1つのファイルとしてブラウザに読み込ませればOKということでしょうか。

1つのファイルとしてブラウザに読み込ませる方法がちょっと思いつかないのですが、そのあたりも何かヒントをいただけないでしょうか


2 ● pahoo
●35ポイント ベストアンサー

それぞれバッファに退避しておいて出力時に1つのファイルとしてブラウザに読み込ませればOKということでしょうか。

いいえ。

ブラウザによって外部参照の処理は異なります。単純にデータを渡すだけでは実現できません。


ダイジェスト認証を通った後の画面をブラウザと同じように表示させたいのであれば、PHPでブラウザを作る必要があります。

しかし、PHPの機能だけで実装することは難しいのではないでしょうか。残念ながら、私は見たことがありません。


ダイジェスト認証を自動(半自動)で通すのが目的であれば、ブラウザの機能を使ったり、パスワード管理ソフトを併用したり、またはOSなどの自動化処理を使う方が手っ取り早いと思います。

ここではOSやブラウザの種類やバージョンも分からないので、お答えすることはできませんが。

◎質問者からの返答

ありがとうございます。手段をいろいろ検討したいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ