• ベストアンサー

PHPスクリプトからとブラウザからのhtmlへのアクセスの違い

$file="http://mixi.jp/home.pl"; $fp=@fopen($file,"r"); ブラウザからhttp://mixi.jp/home.plにアクセスするとログイン後のhtmlが表示されるのですが、上記のようにしてphpスクリプトからhtmlを取得するとログイン前のhtmlしか取得できません。 ログイン後の(ブラウザからと同じ)htmlを取得するにはどうすればいいのでしょうか。

noname#187899
noname#187899
  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

多分クッキーにログイン情報が保存されていると思われます。 mixiで発行されたクッキーはmixiでしか取得できないので他のサイト経由でログイン後の画面に行くのは無理です。 個人のパソコンのクッキー情報をスクリプトに埋め込んでfsockopen等で接続すれば可能かもしれませんがそれだと他人も簡単にアクセスできてしまうのでやめた方がいいでしょう。

noname#187899
質問者

お礼

ありがとうございました。

関連するQ&A

  • PHPでアクセスカウンタ

    表題どおりのシンプルな質問なんですけど、加算されません。 テキストにあるコードは: ### 011_counter.php ### <?php $fp=fopen("012_count.txt","r+");// 読み書きモードでオープン $n=fgets($fp); // 文字列の読み取り $n++; // カウントアップ echo $n,"人目"; // 表示 rewind($fp); // 読み書き位置を先頭に戻す fputs($fp,$n); // 書き込み fclose($fp); // ファイルを閉じる ?> ### 012_count.txt ### 0 ※このファイルは0のみで、この0の後には改行コードはありません これでhttp://localhost/php/011_counter.phpにアクセスすると 0 人目 が表示されます。 ただ、F5を押しても、他のサイトを見てまたアクセスしても変わりません。 012_count.txtの内容を3にすると、3 人目になりますが加算はされません。 テキストには「0の後に改行を入れると加算されない」とあるので、特に注意して改行を入れないようにしています。 OSはLinux Knoppix/Math2010です (Windows VistaにVMWare Playerを載せて、その上で走らせています)。 PCはTOSHIBAのSatelliteでメモリ4GB、ハードディスク250GBです。 PHP 5.2.11-1 with Suhosin-Patch 0.9.7 (cli)です。 ブラウザはIceweasel3.5.5です。 最初に書き換えの権限でエラーが出たので chmod -R 777 php chmod 777 012_count.txt も確実に行っています。 正しく加算されるようにするにはどうしたらよいのですか?

    • ベストアンサー
    • PHP
  • PHPアクセスカウンター

    <?php $filename = 'count.dat'; $fp = fopen($filename, "r+"); $count = fgets($fp,32); $count++; fseek($fp, 0); fputs($fp, $count); fclose($fp); echo ($count); ?> これを日付が変わったら0にリセットしてくれるシステムにしたいんですが、どうしたらいいですか??

    • ベストアンサー
    • PHP
  • PHPを使ってmixiのHTMLを取得したい

    PHPを使って、mixiの「メンバーの参加コミュニティ」のHTMLを取得する方法を探しています。 ログインとコミュニティページのHTMLは取得できましたが、 メンバーの参加コミュニティのHTMLだけが取得できません。 http://mixi.jp/related_community.pl?id=コミュニティ番号 にpearのHTTP_Requestでアクセスしても、 Found The document has moved here. といったページが返ってきてしまいます。 取得方法をご存知の方、どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • a.phpにあるアクセスカウンターの数値を取得する

    質問を出すのは初めてでプログラム1年生です。 質問内容は a.phpにあるアクセスカウンターの数値をb.phpに呼び出したいのですが、可能なのでしょうか?? ちなみにb.phpではアクセスカウントを増やしたくありません。 <form>で括り$_GETで呼び出すなどしましたが、1度a.phpから飛ばないと表示されませんでした。 いろいろ類似する質問や記事を見て試行錯誤しましたが、どうしても表示されません。 どなたか教えていただけたら幸いです。 a.phpで記載している内容です。 <?php $counter_file = 'counter.txt'; $counter_lenght = 8; $fp = fopen($counter_file, 'r+'); if ($fp){ if (flock($fp, LOCK_EX)){ $counter = fgets($fp, $counter_lenght); $counter++; rewind($fp); if (fwrite($fp, $counter) === FALSE){ print('ファイル書き込みに失敗しました'); } flock($fp, LOCK_UN); } } fclose($fp); print('COUNT:'.$counter); ?> b.phpで記載している内容です。 <?php ob_start(); include("a.php"); ob_clean(); print $counter; ?> 私の取って付けたような知識では太刀打ちできませんでした。 どうかお助け願います。

    • ベストアンサー
    • PHP
  • PHPでの別のサーバーのテキストファイルの読み込み

    PHPに詳しい方が居られたら教えてください。 $file="http://www.sample.com/test.txt" $fp=fopen($file,"r"); (処理) close($fp); というようにして、別のサイトにおいてあるファイルを 読み込みんで処理したい場合、 "test.txt"の内容を変えても、変更前の内容を読み込ん でしまいます。 パソコンにキャッシュされているファイルにアクセスして いると思うのですが、 "test.txt"の内容を変えたら、確実に変更後の内容を 読み込むようにする方法はありませんでしょうか? どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • phpで二重書込みできないプログラムを作りたい

    PHP初心者です。 テキストファイルに、ある文字列を書き込むプログラムを作ろうとしています。 ファイル内容に同じ文字列があれば書き込まず、 同じ文字列が無ければファイルに書き込むという プログラムを作りたいのですが、 うまくいきません。 どなたかアドバイスをお願いします。 <?php $name = "文字列"; $fp = @fopen("file.txt", "r"); $contents = @file_get_contents($fp); if(ereg($name, $contents)) { print "登録済みです。" ; } else { $fpa = @fopen("file.txt", "a"); fputs($fpa, "$name\n"); fclose($fpa); print "登録しました。"; } fclose($fp); ?>

    • 締切済み
    • PHP
  • PHPカウンタのデータファイルのパスについて

    PHPカウンタのデータファイルをひとつ上の階層に置いて3つのページで共有したいのですが、 $fp="fopen("counter.dat"," "r+"); 上記パスを $fp="fopen("../counter.dat"," "r+"); このように記述するとエラーになってしまいます。 やり方が間違ってますでしょうか? 以下ソースです。 <?php $fp="fopen("counter.dat"," "r+"); $count=fgets($fp, 6); $count++; fseek($fp, 0); fputs($fp, $count); fclose($fp); ?><BR> <?php echo sprintf('%05d',$count); ?> 初心者の質問で申し訳ありませんが、 ご回答のほどよろしくお願い致します。

    • ベストアンサー
    • PHP
  • 簡単なPHPスクリプトを動的に生成したい

    PHPスクリプトを動的に生成することは可能でしょうか? たとえば [ index.php ] <html> <head></head> <body>  <?php   print file_get_contents('format.txt');  ?> </boy> </html> [ format.txt ] echo "aaa"; のようにスクリプトをformat.txtに記述しておき それをindex.phpを読み込んだときに展開するのです。 しかし、上記のスクリプトを実行するとecho "aaa";と表示され、 aaaとは表示してくれませんでした。 PHPでこういう動的にスクリプトを展開するようなことは出来ないのでしょうか?

    • ベストアンサー
    • PHP
  • 【PHP】アクセスカウンターが空回りしてしまいます。

    はじめて投稿します。 今まで無料アクセスカウンターをつけていたページを、 PHPにして、自作のアクセスカウンターを乗っける作業を しています。 来訪者にCookieをつけて、期限が切れるまでカウンターを 反応させないようにするつもりです。(ブラウザを閉じるまで) ローカルではうまく動くのですが、サーバに乗せてみると カウンターが空回りしてしまいます。 正直、どう手直ししていいか見当がつきません。 アドバイスをお願いします。 【おそらく問題のロジックの部分】 //$fp=fopen("count.txt","r+"); //$count=fgets($fp,8); //来場者数のファイルを読み取って必要な桁だけ入手。 //if(empty($_COOKIE["aaa"])){ // setcookie("aaa","on"); // $count++; // } //cookieが空の場合のみ、新たにcookieを作り来場者数に1足す。 //rewind($fp); //fputs($fp,$count); //fclose($fp); //ファイルに値を書き込んで閉じる

    • ベストアンサー
    • PHP
  • ファイルを開いたままオープンモードを変更したい

    $fp = fopen ($file, "r"); flock ($fp, 2); で開いたファイルをロックを解除しないままファイルを空にして書き込みモードに移行する方法を教えてください。 或いは $fp = fopen ($file, "r+"); flock ($fp, 2); からfputs()で書き込んだ後にファイルのファイルポインタ以降の部分を切り捨てる形でも良いです。 flock ($fp, 2);の後にfgetsによりファイル内容を取得した後ファイルロックをしたままファイルの余計な部分を捨てたいので $fp = fopen ($file, "w"); flock ($fp, 2); や $fp = fopen ($file, "r"); flock ($fp, 2); fgets ($fp); flock ($fp, 3); fclose ($fp); $fp = fopen ($file, "w"); flock ($fp, 2); は必要ありません。

    • ベストアンサー
    • PHP

専門家に質問してみよう